web-dev-qa-db-ja.com

ディープリンクはAndroid

私はフォローしています アプリコンテンツへのディープリンクの作成 in Android開発者向けドキュメントで、Androidアプリ。

新しいアプリプロジェクト、そのチュートリアルとまったく同じようにアクティビティを指定しました。

<activity
Android:name="com.example.Android.GizmosActivity"
Android:label="@string/title_gizmos" >
<intent-filter Android:label="@string/filter_view_http_gizmos">
    <action Android:name="Android.intent.action.VIEW" />
    <category Android:name="Android.intent.category.DEFAULT" />
    <category Android:name="Android.intent.category.BROWSABLE" />
    <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
    <data Android:scheme="http"
          Android:Host="www.example.com"
          Android:pathPrefix="/gizmos" />
    <!-- note that the leading "/" is required for pathPrefix-->
</intent-filter>
<intent-filter Android:label="@string/filter_view_example_gizmos">
    <action Android:name="Android.intent.action.VIEW" />
    <category Android:name="Android.intent.category.DEFAULT" />
    <category Android:name="Android.intent.category.BROWSABLE" />
    <!-- Accepts URIs that begin with "example://gizmos” -->
    <data Android:scheme="example"
          Android:Host="gizmos" />
</intent-filter>
</activity>

adb Shell am start -W -a Android.intent.action.VIEW -d "example://gizmos" com.example.Androidでテストすると、機能します。電話のOSがアプリを起動します。

しかし、chrome to example://gizmosに移動してテストすると、アプリは起動せず、chromeはそのURIをGoogleで検索するだけです。なぜですか?動作しますか?

(私はAndroid Emulator for Nexus 5X API 26を使用しています)。

6
mipnw

これは、アドレスバーに手動で入力した場合にChromeディープリンクをたどらないためです。詳細については、これ answer を参照してください。

ディープリンクをテストする最も簡単な方法は、Androidメッセージアプリにリンクを入力することです。メッセージを送信したら、リンクをクリックできます。

ディープリンクを使用してどこかにページをホストすることもできます。

5
Benjamin