Android アプリリンクの処理

ディープリンクはコンテンツ URI を処理します。リンクが
         HTTP と HTTPS スキーム。Android アプリリンクが autoVerify を処理する
         属性です。
図 1. ディープリンク、ウェブリンク、 Android アプリリンク

ユーザーがデバイスでリンクをたどる目的は、見たいコンテンツにたどり着くことです。 開発者は Android アプリリンクを設定することで、アプリ選択ダイアログ(曖昧さ回避ダイアログとも呼ばれます)をバイパスし、アプリ内でリンク先のコンテンツにユーザーを直接誘導できます。Android アプリリンクでは HTTP URL とウェブサイトとの関連付け、アプリをインストールしていないユーザーは直接アクセスします。 自動的に適用されます。

Android アプリリンクを実装する前に、Android アプリで作成できるリンクのタイプ(ディープリンク、ウェブリンク、Android アプリリンク)を理解しておくことが重要です。図 1 は、これらのタイプの関係を示しています。 以下では、それぞれのリンクについて詳しく説明します。

ディープリンクは、 アプリの特定の部分にユーザーを直接誘導できます。ディープリンクを作成するには、 ユーザーを右に移動させるインテント フィルタ をアプリで実装する必要があります。次のコード スニペットをご覧ください。

<activity
    android:name=".MyMapActivity"
    android:exported="true"
    ...>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="geo" />
    </intent-filter>
</activity>

ユーザーがディープリンクをクリックすると、不明確な表現の解消ダイアログが表示されることがあります。このダイアログでは、ユーザーは、指定されたディープリンクを処理できる複数のアプリ(広告主様のアプリを含む)の中から 1 つのアプリを選択できます。図 2 は、ユーザーが地図リンクをタップしたときに表示される確認ダイアログを示すものです。このダイアログは、リンクを Google マップで開くのか Chrome で開くのかをユーザーに尋ねています。

図 2. 確認ダイアログ

ウェブリンクは、HTTP スキームと HTTPS スキームを使用するディープリンクです。オン Android 12 以降で、ウェブリンク( Android アプリリンクなど)のコンテンツは常にウェブブラウザで表示されます。 以前のバージョンの Android を搭載するデバイスで、 ウェブリンクも処理できるため、ユーザーがアクセスできない ブラウザに直接送信されます。代わりに、図 2 に示すような不明確な表現の解消ダイアログが表示されます。

次のコード スニペットは、ウェブリンク フィルタの例を示しています。

<intent-filter>
    <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" />
    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Android 6.0(API レベル 23)以降で利用可能な Android アプリリンクは、HTTP スキームと HTTPS スキームを使用し、autoVerify 属性を含むウェブリンクです。この属性を使用すると、アプリが自身をデフォルトとして指定できます ハンドラを定義します。ユーザーが Android アプリリンクをクリックすると アプリはインストールされるとすぐに開きます。確認ダイアログでは、 表示されます。

ユーザーがアプリをデフォルト ハンドラにしない場合、ユーザーはこの動作をアプリの設定でオーバーライドできます。

次のコード スニペットは、Android アプリリンク フィルタの例を示しています。

<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" />

    <!-- Do not include other schemes. -->
    <data android:scheme="http" />
    <data android:scheme="https" />

    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Android アプリリンクには、次のようなメリットがあります。

  • 安全で具体的: Android アプリリンクでは所有するウェブサイト ドメインにリンクする HTTP URL を使用するため、他のアプリはリンクを使用できません。Android アプリの要件の一つは、 リンクとは、Google のウェブサイトの関連付け方法のいずれかを使用してドメインの所有権を確認することです。
  • シームレスなユーザー エクスペリエンス: Android アプリリンクでは、ウェブサイトとアプリの同じコンテンツに単一の HTTP URL を使用するため、アプリをインストールしていないユーザーは、アプリではなく単にウェブサイトに移動します。404 などのエラーはありません。
  • Android Instant Apps のサポート: Android Instant Apps を使用すると、ユーザーは Android アプリをインストールせずに実行できます。Instant Apps のサポートを Android アプリに追加するには、Android アプリリンクを設定し、g.co/InstantApps にアクセスします。
  • Google 検索からユーザーを引き付ける: ユーザーは、モバイル ブラウザ、Google 検索アプリ、Android の画面検索、または Google アシスタントで Google の URL をクリックすることで、アプリの特定のコンテンツを直接開くことができます。

Android アプリリンクを作成する一般的な手順は次のとおりです。 次のようになります。

  1. アプリの特定のコンテンツへのディープリンクを作成する: アプリ マニフェストで、ウェブサイト URI に対するインテント フィルタを作成し、インテントからのデータを使用してアプリ内の適切なコンテンツにユーザーを誘導するようにアプリを構成します。詳しくは、アプリ コンテンツへのディープリンクの作成をご覧ください。
  2. ディープリンクの確認を追加する: リクエストするようアプリを構成します。 アプリリンクの検証。次に、ウェブサイトでデジタル アセットリンク JSON ファイルを公開して、Google Search Console で所有権を確認します。詳しくは、アプリリンクの検証をご覧ください。

上記のリンク先のドキュメントの代わりに、 Android アプリリンク アシスタントは、 Android Studio では、Android アプリリンクの作成に必要な各手順を確認できます。

詳しくは、次のリソースをご覧ください。

Android アプリリンクを管理、確認する

ディープリンクは Google Play Console で管理、確認できます。 アプリが正常にアップロードされると、ダッシュボード([成長] > [ディープリンク] の下)に、ディープリンクと構成エラーの概要が表示されます。

図 3. ディープリンク Google Play Console ダッシュボード

ダッシュボードには次のセクションがあります。

  • ディープリンクの全体的な設定のハイライト
  • マニフェスト ファイルで宣言されているすべてのドメイン
  • パス別にグループ化されたウェブリンク
  • カスタム スキームを含むリンク
それぞれのセクションに、ディープリンクのステータスとその修正方法が表示されます。 返されます。

ダッシュボードの詳細については、こちらのガイドをご覧ください。