IOS 配置Universal Links

1.Universal Link 的基本運(yùn)作機(jī)制:

  • 通過(guò)在 XCode 的 App 配置中配置了相關(guān)信息以及安全域名指定
  • 通過(guò)在 Https only 的安全域名上部署一個(gè)配置 apple-app-site-association file
  • file 中配置上豐富的 website 與 app 的鏈接信息
  • 在 website 與 app之間建立起了安全有效的握手機(jī)制
  • 實(shí)現(xiàn) website 的 url 與 app 的直接聯(lián)動(dòng)

2.apple-app-site-association 的配置

首先放上官網(wǎng)文檔的地址:Support Universal Links

(1)創(chuàng)建 apple-app-site-association 文件(文件名稱不能更改)

在本地創(chuàng)建json文件,文件內(nèi)容

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "2QTWJE35GG.com.text.mine",
            "paths": ["/sht/*"]
        }]
    }
}

apps:為必寫且固定為[]
appID:TeamID + '.' + BundleID
比如我項(xiàng)目的
teamID為2QTWJE35GG;
BundleID為com.text.mine,
最后appID為2QTWJE35GG.com.text.mine
paths:是一個(gè)字符串?dāng)?shù)組,對(duì)應(yīng)域名中的path,用于過(guò)濾可以跳轉(zhuǎn)到App的鏈接,支持通配符*,?以及NOT進(jìn)行匹配。
details數(shù)組中可以配置多個(gè)APP的信息,如果公司內(nèi)有多個(gè)APP需要支持Universal,則可以直接添加多個(gè)。

(2)將配置好的apple-app-site-association文件上傳到服務(wù)器

apple-app-site-association文件需要上傳到服務(wù)器的根目錄下 ,也可以在根目錄中添加.well-known文件夾,將文件上傳到.well-known文件夾下(.點(diǎn)一定不能少),對(duì)應(yīng)連接分別為
https://xxx/apple-app-site-association
https://xxx/.well-known/apple-app-site-association
xxx為你服務(wù)端的域名

注意:上傳apple-app-site-association文件時(shí),一定要先帶文件后綴一起上傳(即原文件,不要強(qiáng)制去掉后綴),然后在服務(wù)端重定向一個(gè)沒(méi)有后綴的鏈接(如上面鏈接所示,否則通過(guò)不了 ,這里卡了一上午)。

蘋果提供了一個(gè)網(wǎng)頁(yè)來(lái)驗(yàn)證我們編寫的這個(gè)apple-app-site-association文件是否合法有效,進(jìn)入驗(yàn)證網(wǎng)址進(jìn)行驗(yàn)證:

WeChat9c6beab9adb8b3109b16f57693b1a7d5.png

出現(xiàn) Error no apps associated with url 則表明驗(yàn)證通過(guò)

(3)配置開(kāi)發(fā)者證書

進(jìn)入開(kāi)發(fā)者網(wǎng)站,找到對(duì)應(yīng)ID,開(kāi)通Associated Domains,更新對(duì)應(yīng)描述文件

4971577349028_.pic_hd.jpg

(4)項(xiàng)目配置

在TARGETS的Capablities中開(kāi)啟Associated domains


FEFEF99D586BB989822BDE346C82D147.png

Domains配置的內(nèi)容為applinks: + 域名(即步驟二中的xxx)
比如:applinks:aliyun.sht.com

實(shí)現(xiàn)喚醒代理

 -(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{

    NSLog(@"userActivity : %@",userActivity.webpageURL.description);
    return YES;
}
驗(yàn)證配置

先運(yùn)行項(xiàng)目,然后
在Safari中輸入https://xxxxx/path,path是apple-app-site-association文件中配置的,下拉后出現(xiàn)類似下面的頁(yè)面,則表示成功

LIP8n0ettnbQjXVELUmLx-T2iMXF8oZPcwgD2248WJWNm0X6QYEQ_3kgq7r28WxC.png

注意事項(xiàng):
1:必須支持https
2:apple-app-site-association名稱不能變
3:文件位置只有上面說(shuō)的兩個(gè)地方
4:teamId和bundleID要正確
5:IOS9以上

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容