Launching Apps with Universal Link on iOS14

■Overview.

 - The app was developed and released.

 - The app is linked to MarketingAutomation and transitions from links in emails and PUSH notifications to specific pages of the app.

 - In iOS14, the transition from UniversalLink to the app is not possible. iOS13 and earlier OS can transition to the app.

The cause is assumed to be that AppleCDN is not able to acquire the apple-app-site-association file.

■Assumption

 - On iOS13 devices, the device directly requests the server of the target domain to acquire the apple-app-site-association file for resolution (AppID acquisition) using UnivarsalLink.

 - For iOS14 devices, the device makes a request to AppleCDN to acquire the apple-app-site-association file for resolution (AppID acquisition) using UnivarsalLink.

→ AppleCDN must be able to acquire the apple-app-site-association file.

 Reference URL:  https://www.wantedly.com/companies/wantedly/post_articles/305303  

■Current status

 - iOS13 terminal: Transition possible When acquiring the apple-app-site-association file, a request is made to https://mydomain_.jp/.well-known/apple-app-site-association, and the file is acquired.

 - iOS14 devices: Transition not possible It has been confirmed that the information of the apple-app-site-association file does not exist on AppleCDN. However, it is possible to retrieve the file if a request is made including the file path.

It has been confirmed that https://mydomain_.jp  cannot be accessed.

Although the specifications for Apple to crawl and retrieve the apple-app-site-association file are unknown and undisclosed, it is assumed that the lack of access to https://mydomain_.jp/ is affecting the file.

We relaxed the access restriction on the server side to allow direct access to , and confirmed that access is now possible.

 Even after a week has passed since access became possible, the transition to the application is still not possible.

■What we have done so far  App server

  1. Changed the setting so that AppleCDN can see the index of the root directory so that it can access the directory directly under the root directory.
  2. Changed the configuration so that Content-Type: application/json is added to the HTTP header of the apple-app-site-association file.

Reference URL: https://qiita.com/hashimotoryoh/items/583be4c8eddddd6ca452

Excerpt from httpd.conf

<Directory "/home/tomcat-static/web">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None
    #
    # Controls who can get stuff from this server.
    #
    Require all granted
    <Files apple-app-site-association>
    ForceType application/json
    </Files>
</Directory>
  1. Add "components" to the apple-app-site-association file.

Reference URL: https://developer.apple.com/forums/thread/669001

apple-app-site-association file

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "*.*.*.*",
        "components": [
				  {"/": "/api/v1/appstore*"},
				],
                "paths": [ "/api/v1/appstore*" ]
            }
        ]
    }
}

■After implementation

The data seems to be obtained although an error occurs when it is confirmed by the Validator of Universal Links. Apple Official App Search API Validation Tool https://search.developer.apple.com/appsearch-validation-tool

■Requests

 - In iOS14, it is necessary for AppleCDN to be able to acquire the apple-app-site-association file in order to launch apps from UniversalLink.

Can you tell me what is causing the failure to acquire the file?

If there is any other information you need, please let me know.

Launching Apps with Universal Link on iOS14
 
 
Q