アプリリンクについて

Android アプリリンクは、Android 6 以降の特別なディープリンク機能です。この機能を使用すると、検証済みのウェブサイト URL から、Android アプリの対応するコンテンツをすぐに開くことができます。ユーザーが確認ダイアログからアプリを選択する必要はありません。これを可能にするため、Android はウェブサイトでホストされているデジタル アセット リンク ステートメントを使用して、ウェブサイトとアプリの間に安全で検証済みの関連付けを確立します。関連付けを検証すると、Android はウェブサイトへのディープリンクを自動的にアプリに直接ルーティングして処理できるようになります。

Android 15 以降では、動的アプリリンクの導入により、アプリリンクがさらに強力になりました。新しい動的機能を使用すると、アプリの新しいバージョンをリリースすることなく、より詳細な制御でアプリのディープリンクの動作をその場で調整できます。

アプリリンクを使用するべき理由:

  • シームレスなユーザー エクスペリエンス - 検索結果、ウェブサイト、メッセージ、他のアプリから、アプリ内の特定のコンテンツにユーザーを直接誘導できます。アプリリンクでは、ウェブサイトとアプリの同じコンテンツに単一の URL を使用するため、アプリをインストールしていないユーザーは代わりにウェブサイトにアクセスします。404 エラーは発生しません。
  • セキュリティの強化 - アプリリンクではドメインの所有権の確認が必要なため、他のアプリがリンクを傍受するのを防ぐことができます。
  • 動的構成(Android 15 以降)- アプリのディープリンク動作をオンザフライで更新します。これにより、バニティ URL、季節限定キャンペーン、ユーザー固有のリンクなどの更新をより柔軟かつ迅速に行うことができます。
  • エンゲージメント - 検索結果、広告、ウェブページ、メッセージなどのリンクを通じてユーザーに働きかけることができます。

アプリリンクをサポートする方法

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

また、Android Studio の Android アプリリンク アシスタントを使用して、Android アプリリンクの作成と検証に必要な各手順をガイドすることもできます。詳しくは、App Links デベロッパー ツールをご覧ください。

  • Dynamic App Links - Android 15(API レベル 35)以降(Google サービスがインストールされているデバイス)。
  • アプリリンク - Android 6(API レベル 23)以降、Google サービスがインストールされているデバイス。
  • 通常の(ユーザーが管理する)ディープリンク - すべての Android バージョン、すべてのデバイス。

App Links の仕組み

アプリリンクは、独自のウェブサイトへのリンクの処理を完全に制御できる特別なディープリンクです。他のディープリンク タイプで使用されているものと同じインテント ベースのシステムを基盤としていますが、ウェブサイト上の Digital Asset Links ファイルを使用してリンクの検証ステップが追加されています。

アプリリンクは、アプリデータと、ウェブサイトまたはドメインでホストする特別な assetlinks.json ファイルを使用して、アプリとウェブサイトの間に安全で信頼できる関連付けを作成します。assetlinks.json ファイルは、アプリの関連付けを検証するためのデジタル アセット リンク ステートメントを宣言します。

概念的なフローは次のとおりです。

  1. アプリのマニフェストで、android:autoVerify="true" を含むインテント フィルタに URL を宣言し、ウェブサイトのホストを指すようにします。
  2. アプリがインストールされると、Android システムはウェブサーバー上の既知の場所から assetlinks.json ファイルを取得します。
  3. システムは、assetlinks.json ファイルが有効であること、sha256_cert_fingerprints がアプリの署名証明書と一致することを確認します。
  4. ユーザーが一致するリンクをクリックすると、システムは曖昧さ回避ダイアログを表示せずに、ユーザーをアプリに直接ルーティングします。

アプリリンクは HTTP URL とウェブサイトの関連付けを利用するため、アプリをインストールしていないユーザーは、サイトのコンテンツに直接アクセスします。このように、アプリリンクは、ウェブ プロパティへのディープリンクをタップするユーザーに、信頼できるシームレスなエクスペリエンスを提供します。

Android 15 以降では、動的アプリリンクの導入により、アプリリンクがさらに強力になりました。Dynamic App Links を使用すると、アプリの新しいバージョンを公開することなく、サーバー側の assetlinks.json ファイルでディープリンク ルールを更新できます。Dynamic App Links は、ディープリンク ルールを調整するための Digital Asset Links フィールドをサポートしています。Google サービスがインストールされている Android デバイスは、ファイルを定期的に更新し、新しいディープリンク ルールを動的に適用します。アプリ アップデートは不要です。

以前は、このファイルは主に基本的な検証に使用されていました。現在では、パス、クエリ パラメータ、フラグメント、除外を指定できる強力な構成ツールとなり、動的で堅牢なディープリンク ソリューションを提供しています。

  • 除外のサポート: アプリリンクの構成に一致する場合でも、アプリを開かないようにする URL の特定のパスまたはセクションを指定できます。
  • クエリ パラメータのサポート: 新しいクエリ パラメータ機能を使用すると、URL に存在する場合にアプリが開かないようにする特定のパラメータを定義できます。これにより、動的な除外、A/B テスト、特定のユーザー セグメントに対するアプリリンクの段階的な有効化など、さまざまな可能性が広がります。
  • 動的更新: アプリが処理する URL パスを、サーバーでホストされている assetlinks.json ファイル内で直接指定することで、アプリを更新することなく App Links の構成を更新できます。

Dynamic App Links では、URL パス、フラグメント、クエリ パラメータの照合など、アプリを開く URL をきめ細かく制御することもできます。一致するものを除外して、アプリを開けないようにすることもできます。詳細については、動的ルールを構成するをご覧ください。

動的アプリリンクの概念フローは次のとおりです。

  1. アプリのマニフェストで、android:autoVerify="true" を含むインテント フィルタに URL を宣言し、ウェブサイトのホストを指すようにします。
  2. アプリがインストールされると、Android システムはウェブサーバー上の既知の場所から assetlinks.json ファイルを取得します。
  3. システムは、ファイルが有効であることと、 sha256_cert_fingerprints がアプリの署名証明書と一致することを確認します。
  4. システムは、Digital Asset Links ステートメントの dynamic_app_link_components フィールド内で定義したディープリンク ルールを解析し、マニフェストで宣言されたルールとマージします。
    1. ユーザーが一致するリンクをクリックすると、曖昧さ回避ダイアログを表示せずに、アプリに直接リダイレクトされます。
  5. システムは定期的に assetlinks.json ファイルを再取得して 最新のルールを取得するため、アプリ アップデートしなくてもリンクを更新できます。 定期的な再取得は、Google サービスがインストールされている Android 15(API レベル 35)以降を搭載したデバイスでサポートされています。

サンプル ユースケース

  • 季節限定のマーケティング キャンペーン: 小売アプリでは、assetlinks.json ファイルに「/promo/summer-sale」のルールを追加して、ユーザーを特定のセール画面に誘導できます。セールが終了したら、ユーザーにアプリの更新を求めることなくルールを削除できます。
  • パートナーのバニティ URL: インフルエンサーとパートナーシップを結んでいる場合は、「/partner/influencer-name」のようなカスタム URL を作成し、そのルールを追加できます。パートナーシップの変更に応じて、この URL を動的に追跡、更新、削除できます。
  • URL パスの A/B テスト: デベロッパーは、特定の URL パスで新機能を公開し、assetlinks.json ファイルにそのルールを追加できます。これにより、一部のユーザーで機能をテストし、アプリを完全にデプロイすることなくルーティングを変更できます。
  • 短期間のイベント: チケット販売アプリやイベントアプリでは、特定のイベントに URL ルールを追加できます。イベントが終了したら、これらのルールをサーバーから削除できます。

アプリリンク実装との互換性

Android 15 の Dynamic App Links 拡張機能は、以前のバージョンの Android を搭載したデバイスの App Links の既存の実装と完全に互換性があるように設計されています。それより前のバージョンのアプリでは、動的構成や構成機能を使用できず、マニフェストで宣言されたルールにフォールバックします。アプリリンクは、以前の Android バージョンのユーザーでも、アプリを正しく開くか、ウェブに適切にフォールバックできます。ほとんどの場合、残りのユーザーベースのエクスペリエンスに影響を与えることなく、動的ルールを安全にデプロイできます。下位互換性のためにインテント フィルタを構成する方法について詳しくは、Android 14 以前の動的アプリリンクの下位互換性をご覧ください。

動的アプリリンクのフィルタ ルールを設定する際の考慮事項

Android 15 以降で動的アプリリンクを使用するためにインテント フィルタを設定する場合は、サーバーサイドの assetlinks.json ファイルで定義されたパスレベルのルーティング ルールでは、マニフェスト ファイルのインテント フィルタ ルールで静的に設定したスコープを拡張できないことに注意してください。

そのため、マニフェストのインテント フィルタで可能な限り広範なスコープを設定し、サーバーサイドの assetlinks.json ルールを使用してさらに絞り込むことをおすすめします。この理想的な構成により、マニフェストで設定された広範なスコープに適合する新しいアプリリンクを動的に追加できるようになります。

ダイナミック ルールの信頼性に関する修正

2026 年 9 月に、Android 15(API レベル 35)以降を搭載した一部のデバイスで、assetlinks.json ファイルの動的ルールが断続的に適用されないという Google Play 開発者サービスの問題を修正しました。この問題が発生したとき、影響を受けたデバイスはアプリ マニフェストで宣言されたインテント フィルタのみを使用していたため、動的ルールで除外された URL がアプリを開くことができました。アプリや assetlinks.json ファイルを変更する必要はありません。この修正により、ほとんどのデバイスで、宣言したとおりに動的ルールが適用されるようになります。

アプリリンクの実装を計画する

アプリリンクをサポートするには、アプリに実装するとともに、サーバーサイドで assetlinks.json ファイルをセットアップする必要があります。一般的な準備と実装のタスクを以下に示します。詳細については、他のリソースへのリンクをご覧ください。

  • ディープリンクの計画 - まず、必要なディープリンク、使用する URL パターン、更新方法と更新時期、各 URL をアプリ内で解決するアクティビティまたはアクションを評価します。
  • Dynamic App Links をサポートする - 最新の Android デバイスを使用しているユーザーに、可能な限り優れたエクスペリエンスを提供します。Android 15 以降のユーザー向けに、動的アプリリンクを活用します。
  • 動的フィルタルールを計画する - Dynamic App Links を使用している場合は、サーバーサイドのルールがアプリ マニフェストで静的に定義されたルールとどのように連携するかを計画します。assetlinks.json ファイルのフィルタ規則では、アプリ マニフェスト フィルタのスコープを拡張することはできません。マニフェスト フィルタで可能な限り広いスコープを宣言し、必要に応じてサーバーサイドのルールでそれらのルールを絞り込むように計画する必要があります。詳細については、動的ルールを構成するをご覧ください。
  • リンクのインテント フィルタを作成してテストする - インテント フィルタでディープリンクを宣言し、URL パターン マッチングと受信インテントの処理をテストします。動的アプリリンクをサポートするには、一部のきめ細かいパスをサーバーサイドの JSON ファイルに移動する必要がある場合があります。
  • 受信したアプリリンク インテントからデータを読み取る - 受信したディープリンク インテントを適切に処理し、適切な Activity に解決します。App Links の実装は、受信インテントからデータを読み取るで説明されている通常のディープリンクと同じです。
  • ウェブサイトの関連付けと動的ルールを構成する - アプリリンクをサポートするには、ウェブサイトまたはドメインでホストされているサーバーサイド ファイルを構成する必要があります。Android デバイスはこのファイルを取得して、アプリでのアプリリンクの実装を検証します。詳細はこちらをご覧ください。
  • アプリリンクの検証をテストする - Android システムがディープリンクを自動検証できることを確認します。デバッグとエンドツーエンドのテストを使用して、検証済みのすべての App Links パスで構成が安全で、正しく機能していることを確認します。
  • Android Studio や Google Play Console など、App Links の設定に使用できるツールについて説明します。詳しくはこちらをご覧ください。