インスタントアプリのapkをPlayストアにアップロードしようとすると、次のエラーが発生します。
ただし、 https://developers.google.com/digital-asset-links/tools/generator を実行すると、アプリやWebサイトとの関連付けに成功します。なぜこのエラーが発生するのですか?何が原因でしょうか?
よろしくお願いします。
GooglePlayコンソールでGooglePlayアプリの署名が有効になっているかどうかを確認してください。 Google Playアプリ署名が有効になっている場合、GooglePlayコンソールはアプリキーをリリースキーに置き換えます。また、Android Studioで設定したキーはアップロードキーとして扱われるため、リリースキーでassetlinks.json
を変更する必要があります。
これは、リリースキーではなくデバッグキーからassetlinks.jsonファイルを生成したときに発生しました。 Android Studioで確認された後、サーバーで失敗します。アセットリンクファイルの署名構成が正しいこと、およびファイル内のフィンガープリントがのSHA256フィンガープリントと一致することを再確認してください。リリースキーを実行すると、リリースキーのフィンガープリントを取得できます。
keytool -list -v -keystore ~/my_keystore.jks
別の原因は、Play署名を有効にしている場合です。その場合、ローカルでAPKに署名したキーのフィンガープリントではなく、開発者コンソールで提供されたフィンガープリントを使用する必要があります(ローカルのフィンガープリントは「アップロードキー」と呼ばれます)。 Android Studioでは、アセットリンクファイルジェネレーターにカスタムフィンガープリントを入力するオプションがないため、これはまったく明らかではありません。
ウェブサイトのアセットリンクファイルが何らかの認証、内部IPの背後にないか、ファイアウォールによってブロックされていないかを確認してください。 Playストアデベロッパーコンソールは、公開されていない場合、デジタルアセットリンクファイルにアクセスできません。
とはいえ、https://www.mywebsitename.com/.well-known/assetlinks.json
は外部ネットワークからアクセスできます(パブリックwifiに切り替えて、jsonファイルが正しく読み込まれることを確認してください)。
Jarrodがコメントで述べたように、他のすべてが失敗した場合は、ステージングされたリリースを破棄し、APKを再アップロードします。ちょうど今私のために働いた。