Unuversal Links介绍
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.
Universal Link(通用链接)是苹果在iOS9推出的,一种能够方便的通过传统HTTPS链接来启动APP的功能,可以使用相同的网址打开网址和APP。
看起来就是一条普通的https链接,当然是我们在该链接域名根目录配置过的一个链接,也可以在该链接中放置对应的H5页面。当用户的点击该链接,只要手机中安装了支持该链接的APP就会直接进入到APP中。如果没有安装APP则会跳转到Safari浏览器中,展示H5页面。对用户来说则是一个无缝跳转的过程。
配置Unuversal Links
其实要做的很简单,但是坑多。
1、登录苹果开发者账号进入对应的appid,开通Associated Domains
并在这个页面获取Team id 和 bundle id
2、创建文件名"必须"为apple-app-site-association的文件
2.由于:Universal Links必须支持https,Universal Links配置的文件(apple-app-site-association文件)paths不能带query参数,微信使用Universal Links拉起第三方App时,会在Universal Links末尾拼接路径和参数,因此App配置(apple-app-site-association文件)的paths必须加上通配符
(apple-app-site-association)文件格式为:
{
"applinks": {
"apps": [],
"details": [{
"appID": "TeamId.BundledId",
"paths": [ "*","/app/*"]
}]
}
}
path是设定你的app支持的路径列表,只有访问到域名下对应path的地址才会唤起APP。其中可以使用通配符或者/app/,/app/*是自己定义的路径。
将你配置好的指定文件apple-app-site-association,上传到HTTPS服务器的根目录下或者.well-known目录下,app在请求下载这个文件时优先从.well-known下载,如果请求不到文件,才会从根目录下载。
3.后台服务器配置
把文件apple-app-site-association,放置在服务器的根目录(不要问我,让后台自己去理解),然后让他提供一个https的url地址,格式是“正式域名/apple-app-site-association”,如:https://www.baidu.com/apple-app-site-association。
达到的效果是,浏览器打开这个地址,可以下载这个文件。另外GET请求这个地址,返回文件的JSON内容。这里通过谷歌浏览器的Postman进行试验。
[图片上传失败...(image-48fc38-1681194925825)]
4、在工程配置以 applinks: 开头,后面写上域名.
补充说明:
如果后台提供的url地址是https://www.baidu.com/apple-app-site-association
。那么,
Associated Domains中填写applinks:www.baidu.com
,
代码注册方法及微信开放平台中都填https://www.baidu.com/
,
5.微信开放平台配置
填写正式域名。
在微信开放平台(https://open.weixin.qq.com/)配置universal links
6.初始化代码
// 微信SDK注册,universal link
[WXApi registerApp:APP_ID universalLink: UNIVERSAL_LINK];
补充说明:
如果后台提供的url地址是https://www.baidu.com/apple-app-site-association
。那么,
Associated Domains中填写applinks:www.baidu.com
,
代码注册方法及微信开放平台中都填https://www.baidu.com/
,