一、概述
Universal Link是苹果在WWDC 2015上提出的iOS 9的新特性之一。此特性类似于深层链接,并能够方便地通过打开一个Https链接来直接启动您的客户端应用(手机有安装App)。对比以往所使用的URLSheme, 这种新特性在实现web-app的无缝链接时,能够提供极佳的用户体验。
本文主要讲述,如何在UniApp中配置Universal Link。
二、配置过程
1、开启Associated Domains服务
要使用Universal Link唤醒APP,需要到苹果开发者中心,开启对应APP的Associated Domains服务。
操作步骤:【进入苹果开发者中心】【Certificates, Identifiers & Profiles】【Identifiers】【点击对应APP】【勾选Associated Domains服务】
2、创建apple-app-site-association文件
新建一个文件,文件名称为apple-app-site-association
,文件内容如下
{
"applinks": {
"apps": [],
"details": [
{
"appID": "XXX4.com.app.app1",
"paths": [ "/app1/link/*"]
},
{
"appID": "XXX4.com.app.app2",
"paths": [ "/app2/link/*"]
}
]
}
}
details
里面的每一项,代表一个APP,如果只有一个APP,那么只需要配置一项即可。
appID
字段的格式为App ID Prefix
+Bundle ID
,比如你的App ID Prefix
为XXX4
,Bundle ID
为com.app.app1
,那么appID
就为XXX4.com.app.app1
。
3、放置apple-app-site-association文件到服务器
apple-app-site-association
文件需要放置到服务器,确保能够通过 https://domain.com/apple-app-site-association
访问并下载到这个文件,domain.com
是你项目的域名,比如www.baidu.com。
4、在manifest.json中配置Associated Domains
修改manifest.json
文件,在"app-plus" -> “distribute” -> “ios” -> “capabilities” -> “entitlements”)下添加"com.apple.developer.associated-domains"字段,字段值为字符串数组,每个字符串为要关联的域名。
"capabilities": {
"entitlements": {
"com.apple.developer.associated-domains": [
"domain.com"
]
}
}
5、配置通用连接
通用链接的格式为https://domain.com/app1/link
, 要跟apple-app-site-association
文件中的paths
字段对应起来。
确定了通用链接之后,在需要用到通用链接的地方,填写对应的链接即可。