请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
123456下一页
返回列表 发新帖
显示全部楼层
28
帖子
1
勋章
1万+
Y币

【官方】通用链接(Universal Links)实现

  [复制链接]
发表于 2017-11-3 17:28:30
本帖最后由 技术咨询-Kenny 于 2021-5-27 10:32 编辑

通用链接(Universal Links)早在 iOS 9 中就已经引入了,是一种能够方便的通过传统 HTTP 链接来启动 App 的技术。实现通用链接需要以下几步:

一、为 App ID 勾选 Associated Domains 功能

登录苹果开发网站,找到你的应用包名 App ID,勾选上 Associated Domains 功能,然后更新你的 mobileprovision 描述文件重新上传到控制台。

二、配置 UZApp.entitlements 文件

配置 UZApp.entitlements 文件的方式参照另一篇教程 iOS 修改 entitlements 文件,内容如下,需要把 applinks: 后面的内容换成你自己想要关联的域名。注意:域名前面不要加 https 协议头,只写域名即可,如 www.apicloud.com

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.     <key>com.apple.developer.associated-domains</key>
  6.     <array>
  7.         <string>applinks**.**</string>
  8.     </array>
  9. </dict>
  10. </plist>
复制代码

如果同时还支持 App Clip,那么还需要加上 appclips,如:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.     <key>com.apple.developer.associated-domains</key>
  6.     <array>
  7.         <string>applinks**.**</string>
  8.         <string>appclips**.**</string>
  9.     </array>
  10. </dict>
  11. </plist>
复制代码

系统会从该域名请求一个 JSON 文件 apple-app-site-association,可以配置关联多个域名。配置完成后将 UZApp.entitlements 文件放置到网页包的 res 文件夹下,然后同步代码到云端。

三、上传 apple-app-site-association 文件

这是一个 JSON 格式的文本文件,内容如下,其中 appID 为你苹果开发者账号的团队标识和应用的包名组成,paths 可以配置多个路径,可以直接配置"*",表示整个域名下网址都支持 Universal Links,添加 paths 的时候注意区分大小写。

  1. {
  2.     "applinks": {
  3.         "apps": [],
  4.         "details": [
  5.             {
  6.                 "appID": **.**.xxx.app",
  7.                 "paths": ["/wwdc/news/*"]
  8.             }
  9.         ]
  10.     }
  11. }
复制代码

如果同时支持 App Clip,则需要添加 appclips 字段,其中 apps 里面值为你苹果开发者账号的团队标识和 App Clip 应用的包名组成,如:
  1. {
  2.     "appclips": {
  3.         "apps": [**.**.xxx.app.Clip"]
  4.     },
  5.     "applinks": {
  6.         "apps": [],
  7.         "details": [
  8.             {
  9.                "appID": **.**.xxx.app",
  10.                "paths": ["/wwdc/news/*"]
  11.             }
  12.         ]
  13.     }
  14. }
复制代码

将文件放置在上面配置的域名根目录下,如果在浏览器能打开 https://**.**/apple-app-site-association,那么说明配置成功。

注:文件保存时不要加 .json 后缀必须通过 https 访问并且服务器 CA 证书需是受信任的。

四、云编译应用,安装到手机上面并打开,然后打开手机上面的备忘录,输入 https://**.**/wwdc/news,点击该链接后能直接启动应用则说明整个流程正确。应用里面可以通过监听 appintent 事件来获取具体的链接地址做相应处理。

注:在 web 页面通过 a 标签跳转来拉起应用时,当前 web 页面地址的域名和通用链接的域名不能相同,否则无法拉起应用。














28
帖子
1
勋章
1万+
Y币
用过都说好 发表于 2019-9-23 19:51
其中appID为你苹果开发者账号的团队标识和应用的包名组成

苹果开发者账号的团队标识在哪看啊 ...

Membership里面的team id
34
帖子
5
勋章
2994
Y币
前排
258
帖子
4
勋章
1024
Y币
占位置走人
49
帖子
0
勋章
436
Y币
支持
33
帖子
0
勋章
100
Y币
支持
支持
支持
75
帖子
0
勋章
822
Y币
看不懂
19
帖子
0
勋章
67
Y币
版主辛苦  撒花
6
帖子
1
勋章
41
Y币
感谢分享
14
帖子
3
勋章
2万+
Y币
必须支持
15
帖子
0
勋章
61
Y币
请问能不能传参啊?
123456下一页
您需要登录后才可以回帖 登录

本版积分规则