iOS 9上的網頁喚醒APP(Universal Links)

眯大帥發表於2018-01-25

本文不介紹這些該死的東西是幹什麼的,只告訴你怎麼用,言簡意賅。 當然,下面是必要條件

有一個註冊的域名
通過 SSL 訪問域名
支援上傳一個 JSON 檔案到你的域名
至少 iOS 9 beta 2 版本 
至少 Xcode 7 beta 2 
複製程式碼

1.新增域名到 Capabilities 首先, 你必須在 Xcode 的 capabilities 裡 新增你的 APP 域名, 必須用 applinks: 前置它:還新增一些你可能擁有的子域和擴充套件(www.domain.com, news.domain.com 等等)。

iOS 9上的網頁喚醒APP(Universal Links)

用 applinks: 字首新增所有域名, 同時不要忘了包含所有可能需要的子域名。 新增完了?工程裡是不是多了一個這樣的東西?

iOS 9上的網頁喚醒APP(Universal Links)

點開,記得在targetmembership內打鉤。

然後,去 蘋果開發賬號頁面獲取你的TeamId,很重要,當然,還需要你工程的Bundle Id。

iOS 9上的網頁喚醒APP(Universal Links)

建立一個json 格式的apple-app-site-associatio 檔案如下:

  {
      "applinks": {
          "apps": [],
          "details": [
              {
                  "appID": "TEAMID.Bundle Id",
                  "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*" ]
              },
              {
                  "appID": "TEAMID.BundleID2",
                  "paths": [ "*" ]
              }
          ]
      }
  }
複製程式碼

將TEAMID換成你從蘋果開發者頁面取出的TEAMID,Bundle Id則是上圖中的Bundle Id。 然後, 上傳這個檔案到你的域名根目錄。 https://branch.io/resources/universal-links/ 開啟驗證頁面,檢視配置的內容是否通過 如果都是通過的則可進行下一步

Paste_Image.png
若有一項未通過,則需要逐步排查問題 一般情況下是json頭部檔案有問題,或是伺服器不支援SSL協議

最後,appdelegate中

application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
複製程式碼

Paste_Image.png

相關文章