iOS Universal link 配置

1、在蘋果開發(fā)者平臺(tái)配置你應(yīng)用的Universal Links

開通Associated Domains


WX20220421-195222@2x.png

注意:重新設(shè)置之后,Profiles文件需要更新

2、.制作相關(guān)證書配置文件

本頁面需要的操作:記錄Team ID將capabilities中的Associated Domains勾選,然后保存操作。重新下載對應(yīng)的profile文件,并安裝。

然后通過Xcode更新mobileprovision文件,即更新上述保存的文件,Xcode->Perferances...->Account->AppIds->Team&role->Download Manual Profiles

13294052-64273179e58e32c0.png

3、 微信對Universal Links配置要求

a)Universal Links必須支持https
b)Universal Links配置的文件(apple-app-site-association文件)paths不能帶query參數(shù)
c)微信使用Universal Links拉起第三方App時(shí),會(huì)在Universal Links末尾拼接路徑和參數(shù),因此App配置(apple-app-site-association文件)的paths必須加上通配符

創(chuàng)建apple-app-site-association文件,json格式,文件不含后綴
終端創(chuàng)建:

touch  apple-app-site-association

appID 是由TeamId + . + BundleId組成。

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "TeamId.BundledId",
                "paths": [ "/app/*"]
            }
        ]
    }
}

那么 微信后臺(tái)需要填寫配置的通用連接Universal link 為https://www.test.com/app/
App中調(diào)用微信openSDK的+(BOOL)registerApp:(NSString *)appid universalLink:(NSString *)universalLink方法的通用鏈接參數(shù)也一定要帶路徑即https://www.test.com/app/,保持一致,單純的域名就會(huì)導(dǎo)致二次降級(jí)啟動(dòng)。

apps后面的數(shù)組為空就好,主要內(nèi)容配置在details里面
包含:appID和paths

這里著重講一下paths:
path是設(shè)定你的app支持的路徑列表,只有訪問到域名下對應(yīng)path的地址才會(huì)喚起APP。
其中可以使用通配符*或者/app/*
具體路徑地址/app/home
還可以忽略某種規(guī)則NOT /help/website/*

如果要支持QQ分享配置如下

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "teamid.bundleid",
                "paths": [ "*","/qq_conn/appid/*" ]
            }
        ]
    }
}

微信支付和分享

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "teamid.bundleid",
                "paths": [ "*","/app/*" ]
            }
        ]
    }
}

1、apps:是限制只能在這幾個(gè)app中使用, 基本是不填寫,所以是空數(shù)組
2、appID :為teamId.bundle identifier形式,9JA89QQLNQ就是teamId,com.apple.wwdc是項(xiàng)目identifier。
登陸開發(fā)者中心,在Account -> Membership里面可以找到Team ID。
3、details:數(shù)組中可以配置多個(gè)APP的信息,如果公司內(nèi)有多個(gè)APP需要支持Universal link,則可以直接添加多個(gè)
4、paths:設(shè)定你的app支持的路徑列表,只有這些指定路徑的鏈接,才能被app所處理。*的寫法代表了可識(shí)別域名下所有鏈接
5、/app/*是自己定義的路徑;

/app/*是自己定義的路徑;
/qq_conn/22222222/*需要根據(jù)QQ互聯(lián)平臺(tái)設(shè)置,22222222是QQ互聯(lián)后臺(tái)對應(yīng)應(yīng)用的APPID。
如果上傳人員給你的訪問路徑是:
https://www.baidu.com/.well-known/apple-app-site-association
https://www.baidu.com/apple-app-site-association則:
微信開放平臺(tái)的Universal Link填寫是:https://www.baidu.com/app/
QQ互聯(lián)平臺(tái)的Universal Link填寫是:https://www.baidu.com/qq_conn/22222222/

TeamId查找方法:


蘋果開發(fā)者平臺(tái)

建議Universal links 配置path 例如/app/*,避免全域名

4、將apple-app-site-association文件上傳至HTTPS服務(wù)器根目錄或者.well-known這個(gè)子目錄下。

使用https://test.com/apple-app-site-association或者https://test.com/.well-known/apple-app-site-association能夠訪問到(能夠下載或者返回文件內(nèi)容即可)

也可以使用蘋果的驗(yàn)證網(wǎng)站https://search.developer.apple.com/appsearch-validation-tool/來驗(yàn)證文件是否能夠被訪問到。若應(yīng)用未上線,可能出現(xiàn)如下結(jié)果:

出現(xiàn)該結(jié)果,說明配置文件apple-app-site-association正確。出現(xiàn)404錯(cuò)誤,則說明apple-app-site-association文件未上傳成功或者使用上面的域名不能訪問到

Error no apps with domain entitlements 是因?yàn)檫€沒有發(fā)布

5、下載安裝配置的證書文件 并在xcode工程中做相關(guān)配置

在圖中第5步的位置配置applink:域名(如www.test.com不用https://)applink:www.test.com

注意點(diǎn):在 Associated Domains 里面配置的 Universal Links 必須要以 applinks: 開頭,后面寫上域名,例如:applinks:www.test.com

6、在微信開放平臺(tái)配置universal links

在微信開放平臺(tái)配置universal links

微信要求填寫格式是https開頭,"/"結(jié)尾, 所以填寫https://test.com/app/

7、驗(yàn)證通用連接是否配置正確的方法:

1)將應(yīng)用打包或者真機(jī)調(diào)試安裝到手機(jī)上,json格式的文件是app第一次安裝,它會(huì)從https://domain.com/apple-app-site-association下載這個(gè)文件。

2)需要測試該功能的時(shí)候,只需要在備忘錄輸入App能識(shí)別的鏈接https://www.test.com/testapp/,然后直接點(diǎn)擊或是長按就可以了,直接點(diǎn)的效果是跳轉(zhuǎn)到你的App,長按的效果是彈出的菜單中第二項(xiàng)是“在'XXX應(yīng)用'中打開”,這也代表著成功。

3)如果未安裝應(yīng)用或者安裝了應(yīng)用由于網(wǎng)絡(luò)的原因沒有正確下載到apple-app-site-association文件則不會(huì)出現(xiàn)XXX應(yīng)用中打開 ,這時(shí)候需要安裝應(yīng)用,切換網(wǎng)絡(luò)重試。

備忘錄中復(fù)制通用連接https://www.test.com/testapp/ 點(diǎn)擊連接 可以正常直接打開APP
附圖備忘錄中長按可以看到:

15033832-f9477e84a94d4fd4.png

Safari瀏覽器中輸入通用連接后下拉應(yīng)該能看到 APP中打開 點(diǎn)擊點(diǎn)開按鈕可以打開應(yīng)用


1421866-dd46117222117ed5.png

系統(tǒng)只會(huì)在第一次安裝/啟動(dòng)APP的時(shí)候去拉取Universal Links

備注:

https域名:https://www.test.cn
文件地址:https://www.test.cn/apple-app-site-association
https://www.test.cn/.well-known/apple-app-site-association
Universal Links:https://www.test.cn/app/
Xcode Domains:applinks:test.cn
Safari或者備忘錄訪問:https://www.test.cn/app/
微信:https://help.wechat.com/app

遇到疑難問題:

由于應(yīng)用Universal link校驗(yàn)不通過

在對接微信支付的時(shí)候,這個(gè)問題糾結(jié)了我2天,一直以為自己配置的不對,咨詢支付對接方,他們也說我的Universal link配置不對,可我已經(jīng)吧Universal link配置看了好多遍了,沒有問題哈。最終是由于微信開發(fā)者平臺(tái)的,我們應(yīng)用處于審核中,等審核通過就可以調(diào)用測試支付了。真是一個(gè)大寫的尷尬????????

參考文章:

https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW1
http://www.itdecent.cn/p/5aeb5f8e4976
https://blog.csdn.net/survivorsfyh/article/details/121859776
https://www.kancloud.cn/i281151/note/2321693
http://www.360doc.com/content/21/1221/08/65840031_1009637769.shtml
https://www.lbyxlz.com/universal-link-打開app前端部署采坑記/
http://www.itdecent.cn/p/e2bbceca48b6
http://www.itdecent.cn/p/f1a1e1833eec

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

相關(guān)閱讀更多精彩內(nèi)容

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