2017-07-19 4 views
1

私はインテントフィルタを使用してAndroidおよびiOSのディープリンクを処理する方法を知っていますが、すべてのプラットフォームで同じURLを使用したいと思います。すべてのプラットフォームのディープリンクURLを作成

ライブラリがなくてもAndroid、iOS、およびWebで処理できるURLを作成するにはどうすればよいですか?前もって感謝します。

答えて

0

これは、通常のウェブサイトのURLを維持しながら、AndroidのApp LinksとiOSのUniversal Linksを使用することで実現できます。アップユニバーサルの設定

はあなたのウェブサイトに登録され、特定のドメインを持っていたら、あなたはユニバーサルリンクを通じてアプリの代わりに、ブラウザを使用して、そのURLを開くために、あなたのiOSアプリを設定することができ

をリンクします。

これを行うには、Xcodeプロジェクトの関連するドメインにドメインを追加します。 //.com/apple-app-site-association:

次に、あなたはあなたのサーバーのhttps上で適切に設定されているリンゴアプリサイト - 関連ファイルをホストする必要があります。このように見えるはずです。

{ 
    "applinks": { 
     "apps": [], 
     "details": [ 
      { 
       "appID": "<teamId>.<bundleId>.dev", 
       "paths": [ "*" ] 
      }, 
      { 
       "appID": "<teamId>.<bundleId>", 
       "paths": [ "*" ] 
      } 
     ] 
    }, 
    "activitycontinuation": { 
     "apps": [ 
      "<teamId>.<bundleId>.dev", 
      "<teamId>.<bundleId>" 
     ] 
    } 
} 

あなたは、このセットアップを持っていたら、あなたのユニバーサル・リンクは、このtoolを使用して有効であるかどうかをテストすることができます。

これで、あなたのアプリはあなたのウェブサイトが処理するのと同じURLをすべて処理できるはずです。完全なチュートリアルhereを見ることができます。アプリのリンク

アプリのリンクを設定する

は、本質的に、彼らは非常に類似した方法で作動するように、ユニバーサルリンクをコピーするAndroidの方法です。それらを設定するには、インベントリフィルタをマニフェストに追加します。

<activity ...> 
    <intent-filter android:autoVerify="true"> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE" /> 
     <data android:scheme="http" android:host="yoursite.com" /> 
     <data android:scheme="https" android:host="yoursite.com" /> 
    </intent-filter> 
</activity> 

次は、yoursite.com/.well-known/assetlinks.jsonでだけでなく、Webサーバー上のassetlinks.jsonファイルをホストします。このように見えるはずです。

[{ 
    "relation": ["delegate_permission/common.handle_all_urls"], 
    "target": { 
    "namespace": "android_app", 
    "package_name": "io.branch.branchster", 
    "sha256_cert_fingerprints": ["14:6D:E9:83:... 
    } 
}] 

これで、アプリ内でディープリンクを処理できるようになります。完全なApp Linksチュートリアルを見るにはhereをクリックしてください。あなたは、ウェブ、Android、とiOSのすべての3つのケースでまったく同じリンクを使用することができるはずAndroidとiOSのためのこれらの2つの方法を使用して

概要

。もちろん、これはdeferred deep linkingをカバーしておらず、あなたのユーザーがリンクしているソースに応じていくつかの場合で失敗します。このような理由から、私はBranchのようなサードパーティのサービスを使用することをお勧めします。

関連する問題