1. 程式人生 > >微信中通過頁面(H5)直接打開本地app的解決方案

微信中通過頁面(H5)直接打開本地app的解決方案

ids 支持 完全 系統默認 domain rdquo bili 通過 解決

簡述

微信中通過頁面直接打開app分為安卓版和IOS版,兩個的實現方式是完全不同的。

安卓版實現:使用騰訊的應用寶,只要配置了“微下載”之後,打開鏈接騰訊會幫你判斷本地是否已經安裝了app,如果本地安裝就直接打開,沒有安裝的話就是騰訊微下載的頁面進行app下載,當然微下載的頁面騰訊提供了幾個模板,可以自己選擇和修改。

IOS實現:ios像直接點擊鏈接打開本地app就難了,有兩種方式可供我們選擇:

  1.騰訊深度合作的公司,微信可以幫你打開app;

  2.使用IOS9+的新功能“Universal Links”(通用鏈接);

很顯然,第二種方式更適合我們普通的公司。

效果展示

技術分享

實現步驟

1.配置https(必須是https)網站支持;

創建“apple-app-site-association”文件,註意不帶後綴,放到網站根目錄,確保可以使用:https://xxx.xxx.xxx/apple-app-site-association直接可以訪問,apple-app-site-association文件內容如下:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                
"appID": "*****.com.gangguwang.yewugo", "paths": [ "/app/*" ] } ] } }

其中appId是你的Prefix + ID,如圖:

技術分享

paths為你鏈接攔截的地址,比如我上面填寫的是“/app/*”,就是當我訪問https://xxx.xxxx.xxx/app/x的時候,會打開本地app,其他連接時候則為正常顯示,這個地址可以配置成多個,也可以直接寫*;

2.配置蘋果證書,開啟“Associated Domains”,如下圖:

Identifiers - App IDs –Edit 然後開啟打鉤 Associated Domains 後保存,配置地址:https://developer.apple.com/account/ios/identifier/bundle

技術分享

3.配置你的App的Universal Links(通用鏈接)

如果你是普通的ios項目的的話,配置如下:項目 targets->Capabilities->Associated Domains,如圖填寫你的鏈接域名

技術分享

域名的格式必須為:applinks:你的域名(ex:applinks:www.domain.com),可以配置多個;

如果你是Xamarin項目的話,需要選擇Entitlements.plist配置關聯域,如圖:

技術分享

這樣配置完之後,打包即可測試你的應用咯。

官方配置文件:https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2

註意事項

1.配置的網站必須是https,不能為http;

2.[重要]展示地址和打開的地址不能在一個域名下(作者測試發現放在同一服務器下都不行),比如展示頁的地址是https://a.domain.com/?id=10,打開的如果是https://a.domain.com/app/?id=10,系統默認是打開頁面,而不是觸發通用鏈接打開app;

3.[重要]配置玩證書之後需要更新證書,才能內部打包和提測上傳成功;

4.通用鏈接可被屏蔽,點擊右上角配置的鏈接之後,通用鏈接就失效了,解決方案下次討論。

如果覺得本文對你有幫助,請點擊右下角“推薦”按鈕,謝謝!

微信中通過頁面(H5)直接打開本地app的解決方案