什么是Universal Link(通用链接)
Universal Link(通用链接)是Apple在iOS9推出的一种能够方便的通过传统HTTPS链接来启动APP的功能,可以使用相同的网址打开网址和APP。当你的应用支持Universal Link(通用链接),当用户点击一个链接是可以跳转到你的网站并获得无缝重定向到对应的APP,且不需要通过Safari浏览器。如果你的应用不支持的话,则会在Safari中打开该链接。
如何配置
先决条件:必须有一个支持
HTTPS
的域名,并且拥有该域名下的上传到根目录的权限(为了上传Apple指定文件)。-
开发者中心配置:找到对应的App ID,在Application Services列表里有Associated Domains一条,把它变为Enabled就可以了。
配置App ID支持Associated Domains:
-
工程配置:
-
Xcode 11.0版本
工程配置中相应功能:targets->Signing&Capabilites->Capability->Associated Domains,在其中的Domains中填入你想支持的域名,也必须必须以applinks:为前缀。
具体步骤如下图:
-
Xcode 11.0以下版本
工程配置中相应功能:targets->Capabilites->Associated Domains,在其中的Domains中填入你想支持的域名,必须以applinks:为前缀。
配置项目中的Associated Domains:
-
-
配置指定文件:创建一个内容为json格式的文件,苹果将会在合适的时候,从我们在项目中填入的域名请求这个文件。这个文件名必须为apple-app-site-association,切记没有后缀名,文件内容大概是这样子:
{ "applinks": { "apps": [], "details": [ { "appID": "9JA89QQLNQ.com.apple.wwdc", "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"] }, { "appID": "ABCD1234.com.apple.wwdc", "paths": [ "*" ] } ] } }
说明:
appID:组成方式是
teamId.yourapp’s bundle identifier
。如上面的 9JA89QQLNQ就是teamId。登陆开发者中心,在Account -> Membership里面可以找到Team ID。paths:设定你的app支持的路径列表,只有这些指定的路径的链接,才能被app所处理。星号的写法代表了可识 别域名下所有链接。
上传指定文件:上传该文件到你的域名所对应的根目录或者.well-known目录下,这是为了苹果能获取到你上传的文件。上传完后,自己先访问一下,看看是否能够获取到,当你在浏览器中输入这个文件链接后,应该是直接下载apple-app-site-association文件。
测试
https://域名/.well-known/apple-app-site-association
https://域名/apple-app-site-association
https://app-site-association.cdn-apple.com/a/v1/域名