微信通過(guò)頁(yè)面(H5)直接打開(kāi)本地app的解決方法
簡(jiǎn)述
微信中通過(guò)頁(yè)面直接打開(kāi)app分為安卓版和IOS版,兩個(gè)的實(shí)現(xiàn)方式是完全不同的。
安卓版實(shí)現(xiàn):使用騰訊的應(yīng)用寶,只要配置了“微下載”之后,打開(kāi)鏈接騰訊會(huì)幫你判斷本地是否已經(jīng)安裝了app,如果本地安裝就直接打開(kāi),沒(méi)有安裝的話就是騰訊微下載的頁(yè)面進(jìn)行app下載,當(dāng)然微下載的頁(yè)面騰訊提供了幾個(gè)模板,可以自己選擇和修改。
IOS實(shí)現(xiàn):ios像直接點(diǎn)擊鏈接打開(kāi)本地app就難了,有兩種方式可供我們選擇:
1.騰訊深度合作的公司,微信可以幫你打開(kāi)app;
2.使用IOS9+的新功能“Universal Links”(通用鏈接);
很顯然,第二種方式更適合我們普通的公司。
效果展示

實(shí)現(xiàn)步驟
1.配置https(必須是https)網(wǎng)站支持;
創(chuàng)建“apple-app-site-association”文件,注意不帶后綴,放到網(wǎng)站根目錄,確??梢允褂茫?a >https://xxx.xxx.xxx/apple-app-site-association直接可以訪問(wèn),apple-app-site-association文件內(nèi)容如下:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "*****.com.gangguwang.yewugo",
"paths": [ "/app/*" ]
}
]
}
}
其中appId是你的Prefix + ID,如圖:

paths為你鏈接攔截的地址,比如我上面填寫(xiě)的是“/app/*”,就是當(dāng)我訪問(wèn)https://xxx.xxxx.xxx/app/x的時(shí)候,會(huì)打開(kāi)本地app,其他連接時(shí)候則為正常顯示,這個(gè)地址可以配置成多個(gè),也可以直接寫(xiě)*;
2.配置蘋(píng)果證書(shū),開(kāi)啟“Associated Domains”,如下圖:
Identifiers - App IDs –Edit 然后開(kāi)啟打鉤 Associated Domains 后保存,配置地址:https://developer.apple.com/account/ios/identifier/bundle

3.配置你的App的Universal Links(通用鏈接)
如果你是普通的ios項(xiàng)目的的話,配置如下:項(xiàng)目 targets->Capabilities->Associated Domains,如圖填寫(xiě)你的鏈接域名

域名的格式必須為:applinks:你的域名(ex:applinks:www.domain.com),可以配置多個(gè);
如果你是Xamarin項(xiàng)目的話,需要選擇Entitlements.plist配置關(guān)聯(lián)域,如圖:

這樣配置完之后,打包即可測(cè)試你的應(yīng)用咯。
注意事項(xiàng)
1.配置的網(wǎng)站必須是https,不能為http;
2.[重要]展示地址和打開(kāi)的地址不能在一個(gè)域名下(作者測(cè)試發(fā)現(xiàn)放在同一服務(wù)器下都不行),比如展示頁(yè)的地址是https://a.domain.com/?id=10,打開(kāi)的如果是https://a.domain.com/app/?id=10,系統(tǒng)默認(rèn)是打開(kāi)頁(yè)面,而不是觸發(fā)通用鏈接打開(kāi)app;
3.[重要]配置玩證書(shū)之后需要更新證書(shū),才能內(nèi)部打包和提測(cè)上傳成功;
4.通用鏈接可被屏蔽,點(diǎn)擊右上角配置的鏈接之后,通用鏈接就失效了,解決方案下次討論。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談javascript中的 “ && ” 和 “ || ”
本文主要介紹了Javascript中的 “ && ” 和 “ || ”的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
js中symbol類(lèi)型以及symbol的三大應(yīng)用場(chǎng)景詳解
Symbol是ES6新推出的一種基本類(lèi)型,它表示獨(dú)一無(wú)二的值,它可以接受一個(gè)字符串作為參數(shù),帶有相同參數(shù)的兩個(gè)Symbol值不相等,這個(gè)參數(shù)只是表示Symbol值的描述而已,下面這篇文章主要給大家介紹了關(guān)于js中symbol類(lèi)型以及symbol的三大應(yīng)用場(chǎng)景,需要的朋友可以參考下2022-09-09
微信開(kāi)發(fā) 使用picker封裝省市區(qū)三級(jí)聯(lián)動(dòng)模板
這篇文章主要學(xué)習(xí)微信開(kāi)發(fā),如何使用picker封裝省市區(qū)三級(jí)聯(lián)動(dòng)模板,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
JavaScript關(guān)于prototype實(shí)例詳解(超重點(diǎn))
prototype是js里面給類(lèi)增加功能擴(kuò)展的一種模式,這篇文章主要介紹了JavaScript關(guān)于prototype(超重點(diǎn)),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
Bootstrap柵格系統(tǒng)使用方法及頁(yè)面調(diào)整變形的解決方法
這篇文章主要介紹了Bootstrap柵格系統(tǒng)使用方法及頁(yè)面調(diào)整變形的解決方法,需要的朋友可以參考下2017-03-03
JavaScript判斷輸入是否為數(shù)字類(lèi)型的方法總結(jié)
這篇文章主要介紹了JavaScript判斷輸入是否為數(shù)字類(lèi)型的方法總結(jié)的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09

