ユニバーサルリンク - ユニバーサルリンク

序文

ユニバーサルリンクの目的はURLスキームと似ており、主にアプリを外部から起動して特定の操作(指定したページを開くなど)を実行するために使用されます。

URL スキーム (wechat://path?quary) を使用して現在のアプリから独自のアプリケーションをウェイクアップする場合、アプリケーションの URL スキームを現在のアプリのホワイトリストに追加する必要があるため、この方法の柔軟性が制限されます。ユニバーサル リンクを使用すると、この問題 (https://ドメイン名/パス) を解決できます。

応用

リンクがユニバーサル リンクとして呼び出される前に、リンクは https プロトコルであり、webView で開かれるときにクロスドメイン (現在のドメイン名とは異なる) である必要があります。

apple-app-site-association という名前のファイルをルート ディレクトリまたは .well-know ディレクトリに保存します。( https://ドメイン名/.well-know/apple-app-site-association またはhttps://ドメイン名/apple-app-site-association )

m.iqiyi.com ユニバーサル リンク構成

m.qq.com ユニバーサル リンク構成

apple-app-site-association ファイルのコンテンツ形式は次のとおりです。

{
   "applinks":{
       "apps":[],
       "detail":[
           {
               "appID": "TeamID.com.app.once",
               "paths": [ "/once/deeplink/*", "/once/download/*"]
           }, {
               "appID": "TeamID.com.app.second",
               "paths": [ "/second/deeplink/*", "/second/download/*"]
           }
        ]
   }
}

1. Apple Developer Center で対応する識別子を選択し、ASSociated Domains サービスを有効にします。

2. Xcode で、Target-Capabilities を開き、Associated Domains を設定します。

3. IOSコールバック処理

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL *webUrl = userActivity.webpageURL;
        if ([webUrl.host isEqualToString:@"域名"]) {

        }  
    }
    return YES;
}

おすすめ

転載: blog.csdn.net/z119901214/article/details/89501314