キーレスが動作しない(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 アプリ署名を使用する場合、キーなし認証が機能しません
ローカルビルドではキーなし認証が機能し、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 キーと完全に一致し、スペースや他の文字が含まれていないことを確認します。