このガイドでは、一般的な問題とそのトラブルシューティング方法について説明します。Google Play Console の [ディープリンク] ページまたは Android Studio のアプリリンク アシスタントのトラブルシューティング ツールを使用することもできます。詳しくは、 App Links デベロッパー ツールをご覧ください。
アプリリンクがアプリではなくブラウザで開く
- 問題: アプリを開くはずのリンクをクリックすると、ウェブ ブラウザで開くか、選択を求めるダイアログが表示されます。
- ソリューション:
assetlinks.jsonを確認する: ファイルが有効な JSON であり、https://<your-domain>/.well-known/assetlinks.jsonでアクセス可能で、リダイレクトなしで HTTPS 経由で提供されていることを確認します。オンライン バリデーターを使用してください。- SHA-256 フィンガープリントを検証する:
assetlinks.jsonのsha256_cert_fingerprintsが、アプリ リリースの署名鍵の フィンガープリントと完全に一致していることを再確認します(Play アプリ署名を使用している場合は、 Google Play Console のものを使用します)。署名はすべて大文字にする必要があります。 autoVerifyを検証する:<intent-filter>にandroid:autoVerify="true" が含まれていることを確認します。AndroidManifest.xml- サーバー側のリダイレクトを確認する:
httpからhttpsへのリダイレクトや www なしのドメインからwwwへのリダイレクトは、検証の失敗の原因となる可能性があります。 - 再検証を強制する: App Links をテストする ガイドの 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.comexample.comからwww.example.com
この動作により、アプリのセキュリティが保護されます。
- サーバーの堅牢性
クライアント アプリがサーバーに接続できるかどうかを確認します。
- 検証できないリンク
テスト用に、検証できないリンクを意図的に追加することがあります。Android 11 以前では、これらのリンクにより、アプリの Android アプリリンクがすべて 検証されなくなることに注意してください。
- assetlinks.json の署名が正しくない
署名が正しく、アプリの署名に使用した署名と一致していることを確認します。よくある間違いは次のとおりです。
- デバッグ用証明書でアプリに署名し、
assetlinks.jsonにはリリース署名のみが含まれている。 assetlinks.jsonの署名が小文字である。署名はすべて大文字にする必要があります。- Play アプリ署名を使用している場合は、Google が各リリースの署名に使用する署名を使用していることを確認します。ウェブサイトの関連付けを宣言する手順に沿って、 完全な JSON スニペットなどの詳細を 確認できます。
- デバッグ用証明書でアプリに署名し、
バグレポートを取得する
再現が難しい複雑な問題については、 バグレポートを取得して分析します。これにより、検証プロセスとシステムレベルのエラーに関する貴重な分析情報が得られます。