iOS 通用鏈接(Universal Link)喚起APP

  • APP端的配置
  1. Xcode 11.0以下的 在Target ->Capabilities中,打開Associated Domains配置
  2. 在Associated Domains中配置,支持的域名,在配置時,必須是applinks: 開頭,比如:支持的域名是meilikongjian.resolr.com,需要配置的寫法:applinks:meilikongjian.resolr.com

Xcode 11.0以上的 ,工程配置中相應功能:targets->Signing&Capabilites->Capability->Associated Domains,在其中的Domains中填入你想支持的域名,也必須必須以applinks:爲前綴。

在APPdelegate中的處理判斷,

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    
    if ([userActivity.activityType isEqual:NSUserActivityTypeBrowsingWeb]){
        //瀏覽器的網頁跳轉
        

    }if ([[userActivity activityType] isEqualToString:CSSearchableItemActionType]) {
         NSString *identify  = userActivity.userInfo[CSSearchableItemActivityIdentifier];
        
        //spotlight 搜索
        
    }else{

       
    }
    return YES;
}

 

  • 開發者賬號配置

在創建的bundleID 中,打開Associated Domains功能,

重新配置Provisioning Profiles運行文件,下載之後安裝:

  • 服務端的支持
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "9JA89QQLNQ.com.apple.wwdc",
                "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
            },
            {
                "appID": "ABCD1234.com.apple.wwdc",
                "paths": [ "*" ]
            }
        ]
    }
}
  1. 支持的域名必須是HTTPS的
  2. 必鬚生成名字爲 apple-app-site-association 的文件,沒有後綴沒有後綴沒有後綴,其實就是一個JSON文件
  3. apple-app-site-association文件的格式爲圖片內容中的格式,只可以修改details 數組中的內容,其他不能修改
  4. APPID的配置:TeamId +BundleID ,而且bundleID 必須是你使用的APP的bundleID
  5. apple-app-site-association 文件需要上傳到網站根目錄或者.well-known目錄下
  6. 需要真機測試, 模擬器不支持通用鏈接
  7. iPhone 至少 iOS 9.2 以上
  8. 設置路徑: 假設我們的鏈接爲meilikongjian.resolr.com,我們在這裏設置爲/admin/*, 則只有以 https://meilikongjian.resolr.com/admin/纔可以打開我們的app。 若我們設置爲 / *,則以 https://meilikongjian.resolr.com/爲前綴的Universal Link都可以打開我們的app。若我們設置paths爲*,則這個域名下的路徑都可以打開這個APP。
  9. 服務端配置的apple-app-site-association 文件是否有效檢驗,檢驗地址

 

  • 基本原理

在你第一個啓動APP或者更新APP時,蘋果會自動的根據你在Associated Domains中配置的域名下,拉取apple-app-site-association文件,根據你配置的APPID,和paths路徑跳轉打開對應的APP,如果不是第一次安裝,只是修改apple-app-site-association文件,更新到服務器,是不奏效的,除非你重新安裝了APP。

  • 微信支付SDK 1.8.6更新解決

配置方案:https://www.jianshu.com/p/d29547d308f3

學習博客:

https://blog.csdn.net/Tiramisu_LM/article/details/86582054

https://www.jianshu.com/p/53588cf8dbc8

https://www.jianshu.com/p/c2ca5b5f391f

https://www.jianshu.com/p/c9c09992a6fe

https://www.jianshu.com/p/ab50bdaec65d

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章