キーレスが機能しない(ERROR_NOT_AUTHORIZED
)
ARCore API サーバーとの通信で ERROR_NOT_AUTHORIZED
がスローされた場合は、アプリに com.google.android.gms:play-services-auth
ライブラリが含まれていることを確認します。
- アプリをビルドし、生成されたアーティファクトを APK Analyzer で確認します。ビルドされたアプリのバイナリに
com.google.android.gms.auth
パッケージが含まれていること、およびその内容が名前変更または圧縮されていないことを確認します。- 含まれていない場合は、必須のライブラリを含めるの手順に沿って、ライブラリが含まれていることと、圧縮設定が正しいことを確認します。
keytool
ユーティリティを使用して、エラーが発生したターゲット アーティファクトに存在するセキュリティ情報を表示します。AAB アーティファクト
keytool -printcert -jarfile artifact.aab
APK アーティファクト
keytool -printcert -jarfile artifact.apk
SHA-1 証明書フィンガープリントが、プロジェクトの OAuth 2.0 クライアント ID で使用されている認証情報と一致していることを確認します。
Google Cloud で正しいプロジェクトの ARCore API が有効になっていることを確認します。
鍵なし認証が一部(Debug など)のビルドタイプでは成功するが、他のビルドタイプでは成功しない
鍵のない認証が特定のビルドでは成功するが、他のビルドでは成功しない場合は、失敗したアーティファクトに存在する指紋が Google Cloud コンソールに表示されている指紋と一致していることを確認します。キーレス認証が機能しないを参照し、手順に沿って、そのアーティファクトの署名鍵フィンガープリントが Google Cloud に表示されているフィンガープリントと一致することを確認します。
Play アプリ署名を使用している場合、キーレス認証が機能しない
キーレス認証がローカルビルドでは機能するが、Google Play アプリ署名が有効になっているときに Google Play ストアにアップロードした後に機能しない場合は、プロジェクトの認証情報に登録されている SHA-1 証明書フィンガープリントが、Google がアプリの署名に使用するフィンガープリントと一致していることを確認します。
- Google Play の [アプリ署名] ページで、[アプリ署名鍵証明書] までスクロールします。SHA-1 証明書フィンガープリントをメモします。
- 前の手順の SHA-1 証明書フィンガープリントを使用して、新しい OAuth 2.0 クライアント ID を作成します。
詳しくは、Play アプリの署名をご覧ください。
API キー認証が機能しない
API キー認可が機能しない場合は、次の手順を行います。
- Google Cloud で正しいプロジェクトの ARCore API が有効になっていることを確認します。
- API キーの制限が有効になっている場合は、一時的に無効にします。
- プロジェクトの認証情報に記載されている API キーが、アプリで使用されている API キーと完全に一致していることを確認します。スペースやその他の文字は使用しないでください。