排查 ARCore API 授权相关问题

选择平台: <ph type="x-smartling-placeholder"></ph>

无密钥模式无法使用(ERROR_NOT_AUTHORIZED

当与 ARCore API 服务器的通信抛出 ERROR_NOT_AUTHORIZED 时,请确保您的应用包含 com.google.android.gms:play-services-auth 库:

  1. 构建您的应用,并使用 APK 检查生成的工件 分析器。确保 构建的应用二进制文件包含 com.google.android.gms.auth 并且其内容不会被重命名或缩小。
  2. 使用以下代码显示失败的目标制品中存在的安全信息 keytool 实用程序:

    AAB 工件

    keytool -printcert -jarfile artifact.aab

    APK 工件

    keytool -printcert -jarfile artifact.apk
  3. 确保 SHA-1 证书指纹与 项目的 OAuth 2.0 客户端 ID

  4. 确保您已启用 ARCore API 正确的项目。

无密钥授权在某些 build 类型(如 Debug)中成功,但在其他 build 类型中无法成功

如果无密钥授权在某些 build 中成功而在其他 build 中失败,请确保 失败工件中存在的指纹与指纹匹配 Google Cloud 控制台中列出的资源。请参阅无密钥授权 工作 并按照相关步骤验证该工件的签名密钥指纹 与 Google Cloud 中列出的指纹匹配。

使用 Play 应用签名功能时,无密钥授权不起作用

如果无密钥授权适用于您的本地版本,但在上传到 访问 Google Play 商店,请确保 SHA-1 您项目凭据中注册的证书指纹与 Google 用于签署应用的指纹:

如需了解详情,请参阅 Play 应用 签名

API 密钥身份验证不起作用

如果 API 密钥授权不起作用,请按以下步骤操作:

  • 确保您已启用 ARCore API 正确的项目。
  • 如果您启用了任何 API 密钥限制,请暂时停用这些限制。
  • 请确保您项目的 “凭据” 与您的应用使用的 API 密钥一致,其中不能包含空格或任何其他 字符。