文章目录
  1. 1. 前言
  2. 2. App
  3. 3. Server
  4. 4. 验证
  5. 5. 其他
  6. 6. 参考资料
  7. 7. 文档信息

前言


Seamlessly link to content inside your app, or on your website in iOS 9 or later. With universal links, you can always give users the most integrated mobile experience, even when your app isn’t installed on their device.

什么是通用链接:
点击某个 https 链接时,若该手机已安装关联此域名的 App , 则点击链接跳转到 App ,反之通过 Safari 浏览器打开。

App


1、在 App 中添加要关联的域名,支持通配符域名,特定域名不超过 20 - 30 个,例如:

关联域名链接
关联域名

2、在 application:continueUserActivity:restorationHandler: 方法中对其请求进行处理,若符合 App 要求直接进行处理,若不符合,给出其提示。

Server


将创建好的 apple-app-site-association 文件上传到 HTTPS Web 服务器根目录下或者其 .well-known 子目录下。上传后能够通过 url 直接访问到而不经过转发或重写,比如:https://blog.devhitao.com/apple-app-site-associationhttps://blog.devhitao.com/.well-known/apple-app-site-association

apple-app-site-association 文件内容(JSON)格式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamid.com.devhitao.blog",
"paths": [ "/*", "/m/*", "NOT /resume/*"]
},
{
"appID": "teamid.com.devhitao.app",
"paths": [ "*" ]
}
]
}
}

验证


完成上述配置之后,需要验证是否能够工作,验证方式:先各自验证,然后再联合验证。

首先从 App 端开始验证,在 备忘录 中输入关联的链接,比如:https://blog.devhitao.com/,验证是否能够直接打开 App ,若打开网页,则说明 App 端配置有误。

然后验证 Server 端是否配置成功,可以通过 App Search API Validation Tool 网站验证 Server 端配置文件是否生效,在输入框中直接输入 apple-app-site-association 文件所在路径,比如:

验证配置文件是否正常
验证配置文件是否正常

若提示 Error no apps with domain entitlements 此错误,说明 Apple 能够解析到服务端内容,但并未发现关联此域名的 App ,则可以忽略,需要在 App 端关联该域名。

最后若服务端和 App 端配置正确,在 Safari 中打开关联的网址,顶部会提示“在 xxx App中打开”,例如:

在 Safari 中打开
在 Safari 中打开,会提示“在“郭工笔记”App中打开”

其他


目前微信分享通过通用连接打开第三方 App , 若第三方通用链接配置有误,可能会出现二次跳转分享的情况。

若你对上述配置有猜疑,可以参考微信配置方式 apple-app-site-association ,在 Safari 中访问 https://help.wechat.com/sdksample/ 在页面上能够看到微信标识。

参考资料


文档信息


  • 版权声明:自由转载-保持署名-非商用-非衍生 ( CC BY-NC-ND 4.0 )
文章目录
  1. 1. 前言
  2. 2. App
  3. 3. Server
  4. 4. 验证
  5. 5. 其他
  6. 6. 参考资料
  7. 7. 文档信息