iOS-Universal-Link配置詳解

iOS13之后,H5打開App時使用scheme的方式會在打開App后跳轉到下載鏈接頁面。參考知乎的實現方式,我們決定升級成Universal Link的方式,對用戶更加友好。

以下為具體步驟:

  1. 在開發(fā)者中心證書配置頁找到Identifiers,然后點擊項目的BundleID進入詳情頁,選中Associated Domains,如截圖所示。


    圖片.png
  2. 參考知乎的apple-app-site-association文件(https://oia.zhihu.com/apple-app-site-association),寫一份放到H5目錄下(文件修改參考截圖,多余的刪掉即可)

    1. 文件不要帶后綴
    2. 必須為https
    3. 瀏覽器訪問https://你的下載頁地址/apple-app-site-association時會返回apple-app-site-association文件的內容(不是下載,是會把文件內容展示出來,這兩個有區(qū)別)
      圖片.png
圖片.png
  1. 在Xcode中配置applink,參考截圖


    圖片.png
  2. 在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;
}
  1. 注意事項:
    1. H5的域名和下載頁的域名不能是同一個域名
    2. 瀏覽器訪問和Xcode中配置的都是下載頁的域名
    3. H5分享頁不要求https,但下載頁必須是https

在H5中的實現

  1. 在分享頁面加一個在App中打開按鈕
  2. 點擊跳轉下載頁面
  3. 此時若已安裝App,則自動打開App。沒有安裝App會跳轉到下載頁
  4. 點擊下載頁的立即下載按鈕,重定向到App Store即可

有問題留言喔

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容