iOS13之后,H5打開App時使用scheme的方式會在打開App后跳轉到下載鏈接頁面。參考知乎的實現方式,我們決定升級成Universal Link的方式,對用戶更加友好。
以下為具體步驟:
-
在開發(fā)者中心證書配置頁找到Identifiers,然后點擊項目的BundleID進入詳情頁,選中Associated Domains,如截圖所示。
圖片.png -
參考知乎的apple-app-site-association文件(https://oia.zhihu.com/apple-app-site-association),寫一份放到H5目錄下(文件修改參考截圖,多余的刪掉即可)
- 文件不要帶后綴
- 必須為https
- 瀏覽器訪問https://
你的下載頁地址/apple-app-site-association時會返回apple-app-site-association文件的內容(不是下載,是會把文件內容展示出來,這兩個有區(qū)別)
圖片.png

圖片.png
-
在Xcode中配置applink,參考截圖
圖片.png 在AppDelegate.m文件中配置以下代碼:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
if (![userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
return YES;
}
NSURL *jumpUrl = userActivity.webpageURL; // 這個URL就是你跳轉的那個URL,下載頁地址,想要傳參數可以直接在URL后面拼接
// TODO:在這里進行跳轉具體頁面的操作
return YES;
}
- 注意事項:
- H5的域名和下載頁的域名不能是同一個域名
- 瀏覽器訪問和Xcode中配置的都是下載頁的域名
- H5分享頁不要求https,但下載頁必須是https
在H5中的實現
- 在分享頁面加一個在App中打開按鈕
- 點擊跳轉下載頁面
- 此時若已安裝App,則自動打開App。沒有安裝App會跳轉到下載頁
- 點擊下載頁的立即下載按鈕,重定向到App Store即可
有問題留言喔


