Android スマートフォンでリンクをタップすると、オンライン取引を確認したり、ポッドキャストを聞いたり、友人のプロフィールを表示したりできます。 すでに公式アプリが携帯電話にインストールされている場合でも、Google Chrome が起動してモバイル ウェブサイトが開きます。 ログインし、Cookie を受け入れ、縮小されたインターフェイスに移動するように求められます。 このリンクがアプリではなくクロムで開かれるという繰り返し発生する煩わしさは、何百万ものモバイル ユーザーをイライラさせ、Android エコシステム全体のマーケティング効率を低下させます。
Android は、Web URL をネイティブ アプリケーション コードに接続するように設計された、オープンで強力なインテント アーキテクチャを提供します。 ただし、Android の最新バージョン (特に Android 12、13、14 以降) では、リンク検証ルールが大幅に強化されています。 Android アプリ リンクと Chrome インテント フィルターがどのように機能するかを理解することは、ルーティングの障害を診断したり、モバイル ユーザー獲得キャンペーンを実行したりする人にとって不可欠です。 この包括的なガイドでは、Chrome リダイレクトの根本的な原因を調査し、デバイス所有者と開発者の両方が利用できる解決策を詳しく説明します。
Android がハイパーリンクを Google Chrome にルーティングする理由
Android デバイスで HTTP または HTTPS リンクをクリックすると、オペレーティング システムのパッケージ マネージャーが URL を検査して、インストールされているどのソフトウェアがインテントを処理するかを決定します。 Android の古いバージョンでは、URL をタップすると、「プログラムから開く」ダイアログが表示され、サポートを主張するインストール済みアプリの横に Chrome が表示されることがよくありました。 ただし、迷惑なポップアップを排除し、意図のなりすましを防ぐために、最新の Android では検証済みのドメイン所有権が必要です。
アプリがそのドメインの暗号検証に合格していない場合、オペレーティング システムはリンクが未検証であるとみなします。 このような状況では、Android はデフォルトでユーザーのプライマリ Web ブラウザーを使用します。これはほとんどの場合 Google Chrome です。 さらに、すでに Chrome 内にいて、同じホスト ドメインを指すリンクをタップした場合、Safari のリンク ルーティングの問題の分析で説明したように、Apple デバイスで Safari が行うのと同じように、Chrome はユーザーの継続性を維持するためにブラウザ タブ内にとどまることを優先します。
予期しない Chrome リダイレクトの背後にある一般的な原因は次のとおりです。
- 未検証のドメイン宣言: 宛先アプリケーションには、ホスト Web サイト上に検証済みのデジタル アセット リンク レコードがありません。
- システム設定の上書き: ユーザーまたは製造元が、デバイスのアプリケーション設定で「サポートされているリンクを開く」を無効にしました。
- ブラウザ ナビゲーション コンテキスト: Chrome のブックマーク、履歴、または検索結果からクリックされたリンクは、デフォルトで Chrome タブに表示されます。
- 不適切なインテント構文: ウェブ リンクには、Chrome カスタム タブから抜け出すために必要な Android インテント フラグがありません。
- アプリ内ウェブビュー トラッピング: Instagram などのソーシャル アプリは、埋め込みブラウザ内にリンクをトラップします。詳細については、アプリ内ブラウザとはに関するガイドで説明します。
Android アプリリンクとディープリンクインテントの比較
Android のルーティングの問題を解決するには、開発者は従来のディープ リンクと公式の Android アプリ リンクの技術的な違いを理解する必要があります。 従来のディープリンクはカスタム URI プロトコル (twitter:// や tg:// など) を使用します。 機能している間、複数のアプリが同じプロトコルを登録する可能性があり、セキュリティ リスクが生じ、曖昧さ回避ダイアログが表示されます。 既知のプロトコルはすべて、モバイル URL スキーム ディレクトリで参照できます。
対照的に、Androidアプリリンクは標準のウェブURL(https://)と、/.well-known/assetlinks.jsonにホストされたassetlinks.jsonファイルを組み合わせて使用します。アプリがインストールされると、AndroidはそのJSONに記載されたSHA256フィンガープリントがインストール済みAPKの暗号署名と一致するかを検証します。
| リンクの仕組み | 検証の必要性 | ユーザーエクスペリエンス | 信頼性 |
|---|---|---|---|
| カスタムURIスキーム | 検証なし | アプリ選択ダイアログを表示するか、または静かに失敗する | 中程度(最新のブラウザではブロックされることが多い) |
| Android アプリのリンク | デジタルアセットリンクJSON | ダイアログなしでネイティブアプリをすぐに開く | 高 (有効な HTTPS サーバー構成が必要) |
| Chrome インテント URI | 指定されたパッケージ名 | アプリを起動するか、Play ストアにリダイレクトします | Android Chrome ブラウザ全体で高い |
assetlinks.json ファイルが HTTP エラーを返した場合、応答に時間がかかりすぎた場合、または不一致の SHA256 フィンガープリントが含まれている場合、Android はドメイン検証に失敗のマークを付け、すべてのトラフィックを Google Chrome にルーティングします。
スマートなディープリンクを数秒で作成
不格好なアプリ内ブラウザのログイン画面にモバイル訪問者を奪われないようにしましょう。 DSLink を使用して、リアルタイム分析を備えたクリーンなアプリを開くディープ リンクを生成します。
Open URL schemes directoryAndroid でデフォルトのアプリ設定を修正する方法
あなたが個人ユーザーまたは品質保証テスターで、リンクがアプリではなくクロムで開くことに気づいた場合、問題はデバイスのデフォルトのアプリ設定に起因している可能性があります。 Android では、ユーザーはサポートされている Web アドレスをアプリごとに切り替えることができます。
Samsung Galaxy、Google Pixel、その他の Android デバイスでデフォルトのリンク処理をリセットするには、次の手順に従ってください。
- Android スマートフォンで設定アプリを開きます。
- アプリ (またはアプリケーション マネージャー) に移動し、デフォルトのアプリをタップします。
- [リンクを開く] を選択します。
- リストをスクロールし、開くことを拒否するアプリケーション (YouTube、Reddit、Instagram など) をタップします。
- [サポートされているリンクを開く] の切り替えがオンになっていることを確認します。
- [サポートされているウェブ アドレス] をタップし、関連するチェックボックス (
*.youtube.comやyoutu.beなど) がすべて選択されていることを確認します。
有効にすると、電子メール クライアント、メッセージング アプリ、外部ドキュメントで検証済みのリンクをタップすると、すぐに Chrome がバイパスされ、ネイティブ アプリが開きます。
Chrome のカスタム タブとインテント フィルター
モバイル マーケティングにおける大きな障害は、Chrome カスタム タブの普及です。 Twitter、Slack、Gmail などのサードパーティ アプリが Web リンクを表示する場合、多くの場合、完全な Chrome やターゲット アプリを起動するのではなく、軽量の Chrome ウィンドウ内にアプリが読み込まれます。
Chrome カスタム タブでは、厳格なナビゲーション セキュリティ ルールが課されます。 HTML アンカー タグが標準の HTTPS URL を指すだけの場合、Chrome カスタム タブは多くの場合、ナビゲーションをタブ内に保持します。 このコンテナを確実にエスケープし、ネイティブ アプリを強制的に開くために、開発者は次のような形式の明示的な Android インテント URL を使用します。
intent://path/#Intent;scheme=myscheme;package=com.example.app;end
この明示的な構造は、リンクがインストールされたパッケージを対象としたものであることを Chrome に通知します。 ユーザーがアプリをインストールしていない場合、インテントは指定された Web URL にきれいにフォールバックしたり、訪問者を Google Play ストアに誘導したりして、行き止まりのエラー ページを排除できます。
マーケティング担当者とアプリ開発者のためのベスト プラクティス
成長チームやマーケティング担当者が広告、ニュースレター、ソーシャル バイオス全体でリンクを共有している場合、単純な Web URL に依存すると、Android でのエンゲージメントが確実に失われます。 すべての顧客のスマートフォン設定を手動で再構成することはできないため、スマート リンクの機能に関するガイドで説明されているように、リンク アーキテクチャはプログラムでエッジ ケースを処理する必要があります。
DSLink のような特殊なディープ リンク ソリューションを実装すると、次のような重要な利点が得られます。
- インテリジェントなユーザー エージェント検出: 訪問者が Android 上の Chrome、アプリ内ブラウザの Web ビュー、またはデスクトップ ハードウェアを使用しているかどうかを検出します。
- 動的インテント生成: Android インテント ペイロードをその場で作成し、インストールされているアプリを確実にトリガーします。
- フォールバック オーケストレーション: アプリが存在しない場合、不可解なブラウザ エラーを発生させることなく、モバイル ウェブ コンテンツまたはクリーンなランディング ページを正常に表示します。
- 統合マルチプラットフォーム リンク: 単一の短縮 URL を使用して、iOS ユーザーをユニバーサル リンクに、Android ユーザーをアプリ リンクにシームレスにルーティングします。
- 診断検証: 無料のリンク チェッカー ツールを使用して、広告キャンペーンを開始する前に URL の健全性を検証します。
最新のモバイル オペレーティング システム用に設計されたスマート リンクを使用すると、Chrome ブラウザの障壁がなくなり、視聴者が希望する場所に直接到達できるようになります。
よくある質問
Android では、インストールしたアプリではなく Chrome でリンクが開かれるのはなぜですか?
アプリがデジタル アセット リンク ステートメントを検証していない場合、デフォルトのアプリの関連付けが無効になっている場合、または Chrome 自体内でリンクが開かれた場合、Android は Chrome にルーティングします。
Android 上の Chrome ではなくアプリでリンクを開くにはどうすればよいですか?
[設定] > [アプリ] > [デフォルト アプリ] > [リンクを開く] に移動し、対象のアプリを見つけて、[サポートされているリンクを開く] を有効にします。 サポートされている Web アドレスがチェックされていることを確認します。
Android アプリリンクとディープリンクの違いは何ですか?
ディープリンクは、アプリ選択ダイアログをトリガーできる「myapp://」などのカスタム スキームを使用します。 Android アプリ リンクでは、確認済みの「https://」URL が使用され、プロンプトなしでアプリが自動的に開きます。
Google Chrome はインテント URL をブロックできますか?
はい。 クリックが直接のユーザー ジェスチャによって開始されなかった場合、またはインテントに有効なパッケージ名とフォールバック URL が欠如している場合、Chrome はインテント ナビゲーションをブロックします。