このガイドでは、一般的な問題とそのトラブルシューティング方法について説明します。Google Play Console の [ディープリンク] ページのトラブルシューティング ツールや Android Studio のアプリリンク アシスタントを使用することもできます。詳しくは、アプリリンク デベロッパー ツールをご覧ください。
アプリリンクがアプリではなくブラウザで開く
- 問題: アプリを開くはずのリンクをクリックしたのに、ウェブブラウザで開くか、確認用のダイアログが表示される。
- 解決方法:
assetlinks.json
を確認する: ファイルが有効な JSON であり、https://<your-domain>/.well-known/assetlinks.json
でアクセス可能であり、リダイレクトなしで HTTPS 経由で配信されていることを確認します。オンライン バリデータを使用します。- SHA-256 フィンガープリントを検証する:
assetlinks.json
のsha256_cert_fingerprints
が、アプリ リリースの署名鍵のフィンガープリントと完全に一致していることを再確認します(Play アプリ署名を使用している場合は、Google Play Console のものを使用します)。署名は大文字にする必要があります。 autoVerify
を検証する:AndroidManifest.xml
の<intent-filter>
にandroid:autoVerify="true
が含まれていることを確認します。- サーバーサイド リダイレクトを確認する:
http
からhttps
へのリダイレクト、または www なしドメインからwww
へのリダイレクトは、所有権の証明が失敗する原因となる可能性があります。 - 再検証を強制する: アプリリンクをテストするガイドの ADB コマンドを実行して、新しい検証結果を取得します。
Android 15 以降で動的ルールが更新されない
- 問題:
assetlinks.json
ファイルのルールを更新しましたが、新しいリンクがアプリで処理されません。 - 解決方法:
- 再検証を強制する: 変更をテストする最も確実な方法は、
adb shell pm verify-app-links --re-verify. <your-package-name>
を使用して再取得を強制することです。 - タイプミスがないか確認する: ルールのパターン マッチャーに構文エラーがないか慎重に確認します。
- マニフェストのフィルタ ルールを確認する: アプリ マニフェストのインテント フィルタ ルールを確認して、リンクパスが除外されていないことを確認します。リンクがフィルタで除外されている場合は、アプリ マニフェストのインテント フィルタの制限を緩くします。
- 再検証を強制する: 変更をテストする最も確実な方法は、
一般的な実装エラーを修正する
Android アプリリンクを確認できない場合は、次の一般的なエラーを確認してください。このセクションでは、プレースホルダ ドメイン名として example.com
を使用します。これらのチェックを実行するときは、example.com
をサーバーの実際のドメイン名に置き換えてください。
- インテント フィルタの設定が正しくない
- アプリが所有していない URL を
<intent-filter>
要素に含めているかどうかを確認します。 - サーバー構成が正しくない
サーバーの JSON 構成を確認し、SHA 値が正しいことを確認します。
また、
example.com.
(末尾にピリオドが付いている)がexample.com
と同じコンテンツを配信していることを確認します。- サーバーサイドのリダイレクト
次のようなリダイレクトを設定した場合、アプリの Android アプリリンクは一切検証されません。
http://example.com
~https://example.com
example.com
~www.example.com
この動作により、アプリのセキュリティが保護されます。
- サーバーの堅牢性
クライアント アプリがサーバーに接続できるかどうかを確認します。
- 確認できないリンク
テスト目的で、検証できないリンクを意図的に追加することがあります。Android 11 以前では、これらのリンクにより、アプリのすべての Android アプリリンクが検証されなくなることに注意してください。
- assetlinks.json の署名が正しくない
署名が正しく、アプリの署名に使用された署名と一致していることを確認します。よくある間違いは次のとおりです。
- デバッグ証明書でアプリに署名し、
assetlinks.json
にリリース署名のみを含める。 assetlinks.json
で小文字の署名を使用している。署名はすべて大文字で入力してください。- Play アプリ署名を使用している場合は、Google が各リリースの署名に使用する署名を使用していることを確認してください。完全な JSON スニペットなどの詳細を確認するには、ウェブサイトの関連付けを宣言するの手順に沿って操作します。
- デバッグ証明書でアプリに署名し、