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推出的,一種能夠方便的通過傳統(tǒng)HTTPS鏈接來啟動(dòng)APP的功能,可以使用相同的網(wǎng)址打開網(wǎng)址和APP。
看起來就是一條普通的https鏈接,當(dāng)然是我們?cè)谠撴溄佑蛎夸浥渲眠^的一個(gè)鏈接,也可以在該鏈接中放置對(duì)應(yīng)的H5頁面。當(dāng)用戶的點(diǎn)擊該鏈接,只要手機(jī)中安裝了支持該鏈接的APP就會(huì)直接進(jìn)入到APP中。如果沒有安裝APP則會(huì)跳轉(zhuǎn)到Safari瀏覽器中,展示H5頁面。對(duì)用戶來說則是一個(gè)無縫跳轉(zhuǎn)的過程。
配置Unuversal Links
其實(shí)要做的很簡單,但是坑多。
1、登錄蘋果開發(fā)者賬號(hào)進(jìn)入對(duì)應(yīng)的appid,開通Associated Domains

并在這個(gè)頁面獲取Team id 和 bundle id

2、創(chuàng)建文件名"必須"為apple-app-site-association的文件
2.由于:Universal Links必須支持https,Universal Links配置的文件(apple-app-site-association文件)paths不能帶query參數(shù),微信使用Universal Links拉起第三方App時(shí),會(huì)在Universal Links末尾拼接路徑和參數(shù),因此App配置(apple-app-site-association文件)的paths必須加上通配符
(apple-app-site-association)文件格式為:
{
"applinks": {
"apps": [],
"details": [{
"appID": "TeamId.BundledId",
"paths": [ "*","/app/*"]
}]
}
}
path是設(shè)定你的app支持的路徑列表,只有訪問到域名下對(duì)應(yīng)path的地址才會(huì)喚起APP。其中可以使用通配符或者/app/,/app/*是自己定義的路徑。
將你配置好的指定文件apple-app-site-association,上傳到HTTPS服務(wù)器的根目錄下或者.well-known目錄下,app在請(qǐng)求下載這個(gè)文件時(shí)優(yōu)先從.well-known下載,如果請(qǐng)求不到文件,才會(huì)從根目錄下載。
3.后臺(tái)服務(wù)器配置
把文件apple-app-site-association,放置在服務(wù)器的根目錄(不要問我,讓后臺(tái)自己去理解),然后讓他提供一個(gè)https的url地址,格式是“正式域名/apple-app-site-association”,如:https://www.baidu.com/apple-app-site-association。
達(dá)到的效果是,瀏覽器打開這個(gè)地址,可以下載這個(gè)文件。另外GET請(qǐng)求這個(gè)地址,返回文件的JSON內(nèi)容。這里通過谷歌瀏覽器的Postman進(jìn)行試驗(yàn)。
[圖片上傳失敗...(image-48fc38-1681194925825)]
4、在工程配置以 applinks: 開頭,后面寫上域名.

補(bǔ)充說明:
如果后臺(tái)提供的url地址是https://www.baidu.com/apple-app-site-association。那么,
Associated Domains中填寫applinks:www.baidu.com,
代碼注冊(cè)方法及微信開放平臺(tái)中都填https://www.baidu.com/,
5.微信開放平臺(tái)配置
填寫正式域名。
在微信開放平臺(tái)(https://open.weixin.qq.com/)配置universal links

6.初始化代碼
// 微信SDK注冊(cè),universal link
[WXApi registerApp:APP_ID universalLink: UNIVERSAL_LINK];
補(bǔ)充說明:
如果后臺(tái)提供的url地址是https://www.baidu.com/apple-app-site-association。那么,
Associated Domains中填寫applinks:www.baidu.com,
代碼注冊(cè)方法及微信開放平臺(tái)中都填https://www.baidu.com/,