微信配置Universal Link解決方案支持多個app


本文借鑒https://www.jianshu.com/p/6a25b18577eb,感謝博主的分享。

本文主要講解微信配置Universal Link問題,以及公司項目下多個app配置方案。

注意事項(很重要)

1.幾個app共用一個pple-app-site-association文件,注意不同app可以根據path進行區分,在微信后台幾openSDK傳入的Universal Links是需要傳入【https://域名+path】,不同的app對應不同的path,因此不會互相影響。

2.項目中AppDelegate的continueUserActivity方法:進行處理,如下,如未做處理會出現每次分享都出現正在連接界面。

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRest

oring>> * __nullable restorableObjects))restorationHandler {

return [WXApi handleOpenUniversalLink:userActivity delegate:self];

}

第一:更換的必要性

微信開發者平台,包括QQ目前新建應用都必須配置Universal Link

,老本版存量問題,微信開發者平台公告2020年3月起逐漸收回老版本功能。因此更新ShareSDK配置Universal Link

就是必須要做的。

第二:自己配置的Universal Link

步驟

1.讓后台人員准備一個https的鏈接,供后面存放建好的apple-app-site-association文件

2.制作apple-app-site-association文件,並放置在准備好的鏈接根目錄下

3.在App Store對相應的buildID開啟Universal Link服務

4.在Xcode開啟Associated Domains,並填寫對應Domains

5.用GET請求測試該鏈接下的文件內容,並在safari瀏覽器中測試

6.填寫微信新的LSApplicationQueriesSchemes

7.回調測試

第三步驟詳解

1.准備htttps鏈接,制作apple-app-site-association文件(文件名一定吧不能更改),放根目錄的(.well-known)的子目錄下,或者根目錄下,地址一定是這兩個中的一個。

2.制作apple-app-site-association文件

a.單個app,示例如下,其實就是一個json,apps數組不用管,details里面填入對應得appID和paths。appID就是用前綴+bundleID的方式,把它交給你的后台人員,按照之前說的放到相應目錄。並且使用GET請求進行測試,確保路徑能正常訪問。

{

"applinks": {

        "apps": [],

        "details": [

            {

                "appID": "xxxxxxxx.com.xxxxxxx",

                "paths": ["*"]

            },

        ]

    }

}

B.多個App同時用1個apple-app-site-association,示例如下,通過paths來限制打開那個應用。其他同單個單用,打開app就是前面域名+/shahxi/

{

"applinks": {

        "apps": [],

        "details": [

            {

                "appID":  "xxxxxxxx.com.xxxxxxx",

                "paths": ["/shanxi/*"]

            },

            {

                "appID":  "xxxxxxxx.com.xxxxxxx",

                "paths": ["/chengdu/*"]

            },

            

        ]

    }

}

3.在App Store賬號管理里找到對應的app id給其開通Associated Domains服務

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

在項目中,添加對應的值,以applinks:+你准備的UniversalLink的形式填寫,注意此次應是裸的域名,不要加https或者文件名例applinks:help.wechat.com

 

 

 

在注冊微信分享app哪里,是完整的UniversalLink,例如多個應用可能是這樣的形式(https://域名/shanxi/),微信后台哪里填寫的也是完整的UniversalLinkhttps://域名/shanxi/)

 

4.一切就緒可以在Safari里面進行測試。

 卸載一次APP,build run一下,然后你就可以先在safari瀏覽器中測試走一波,把鏈接地址輸入進去如https://help.wechat.com。頁面加載完往下拉一下,看是否有打開APP的提示,如果有則配置成功!

5.以上步驟與微信毫無關系,但證明UniversalLink已經配置成功,可進行APP跳轉。

接下來是微信開放平台和SDK注冊方法填寫相同UniversalLink,注意此次微信的要求https開頭 /結尾,列如:https://help.wechat.com/

 

6.也許這個時候你迫不及待想去調起微信,結果一定是失敗的,因為此次更新后,還要添加一個新的Schemes。在Xcode中,在info”標簽欄的“LSApplicationQueriesSchemes“添加weixin 和weixinULAPI(如下圖所示)。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM