を失敗しAndroidManifest.xml
に次のように私は私のアプリへのリンクを定義します。アンドロイドMアプリのリンクの検証が
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:host="mysite.com" android:scheme="http"/>
<data android:host="mysite.com" android:scheme="https"/>
<data android:host="www.mysite.com" android:scheme="http"/>
<data android:host="www.mysite.com" android:scheme="https"/>
</intent-filter>
アプリが正常に正しくホストからのURLを検出しますが、ユーザーがアプリケーションでそれらを開くことが好きかなる場合促しブラウザ検証は、Androidモニタコンソールに見られるように失敗するので:
01-17 15:44:28.847 7084-30015/? I/IntentFilterIntentSvc: Verifying IntentFilter. verificationId:2 scheme:"https" hosts:"mysite.com www.mysite.com" package:"com.site.myapp.android.flavor".
01-17 15:44:29.821 7084-30015/? I/IntentFilterIntentSvc: Verification 2 complete. Success:false. Failed hosts:mysite.com,www.mysite.com.
マイassetlinks.jsonファイルはmysite.com/.well-known/assetlinks.json
に位置しており、正しいパッケージ名とSHA256ハッシュを含んでいます。また、httpとhttpsでアクセスできます。私は、SHAハッシュがキーストアからAPKからCERT.RSAファイルを抽出し、keytool -printcert -file CERT.RSA
を使用することによって、私はhttps://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://domain1:port&relation=delegate_permission/common.handle_all_urls
を呼び出すだけでなく、google site Statement List Testerを使用してみましたが、両方ともOKを返すことを一致して確認しました。
私はテスト用にAndroid 7を実行しているNexusデバイスを使用しています。
the documentationによると、私はアプリのリンクが動作するために必要なすべてを行っています。私が確認できるものは他にありますか?
私のサーバーはWindows 7上でIISを実行していますが、IISおよびweb.configファイルにはすでにmimetypeとしてapplication/jsonが追加されています。自分で署名したSSL証明書を使用しているため、失敗する可能性がありますか?
EDIT:SingleHostAsyncVerifierは、検証に失敗したことを記録します。アプリリンクドキュメントの
01-17 15:44:29.817 7084-30017/? I/SingleHostAsyncVerifier: Verification result: checking for a statement with source a <
a: "https://www.example.com"
>
, relation delegate_permission/common.handle_all_urls, and target b <
a: "com.mypackage.flavor"
b <
a: "(SHA256 hash)"
>
>
--> false.
01-17 15:44:29.820 7084-30016/? I/SingleHostAsyncVerifier: Verification result: checking for a statement with source a <
a: "https://example.com"
>
, relation delegate_permission/common.handle_all_urls, and target b <
a: "com.mypackage.flavor"
b <
a: "(SHA256 hash)"
>
>
--> false.
このタグでlogcatを確認してください: 'SingleHostAsyncVerifier' –
@SimonMarquis私はちょうど元の質問にそれを加えました。また、検証の失敗を示します。 –
本当に変です。クイックチェック:あなたはシャーと一致していますか? (デバッグビルド対リリースビルド)は、 'application/json'として提供されているファイルです、それは有効ですか? –