在 Google Cloud 上使用 ARCore API

请选择平台

Geospatial API云锚点等 ARCore 功能会使用托管在 Google Cloud 上的 ARCore API。使用这些功能时,您的应用会使用凭据来访问 ARCore API 服务。

本快速入门介绍如何设置应用,使其能够与 Google Cloud 上托管的 ARCore API 服务进行通信。

创建新的 Google Cloud 项目或使用现有项目

如果您已有项目,请选择该项目。

转到“项目选择器”

如果您还没有 Google Cloud 项目,请创建一个。

创建新项目

启用 ARCore API

如需使用 ARCore API,您必须在项目中启用它。

启用 ARCore API

设置授权方法

Android 应用可以使用两种不同的授权方法与 ARCore API 通信:推荐方法为无密钥授权 (OAuth 2.0) 和 API 密钥授权:

  • 无密钥授权结合使用应用的软件包名称和签名密钥的指纹对您的应用进行授权。
  • API 密钥是用于标识 Google Cloud 项目的字符串。由于 API 密钥通常可供客户端访问,因此通常会被视为不安全。考虑使用无密钥授权与 ARCore API 通信。

无钥匙

如需使用无密钥身份验证为您的应用授权,请创建 OAuth 2.0 客户端 ID。

确定签名密钥指纹

OAuth 2.0 客户端 ID 使用应用的签名密钥指纹来识别您的应用。

如何获取调试签名指纹

在运行或调试项目时,Android SDK 工具会自动使用生成的调试证书为您的应用签名。

  • 在 Android Studio 中,打开 Gradle 工具面板
  • 依次转到 project-name > Tasks > android
  • 运行 signingReport 任务。

  • 复制 debug 变体的 SHA-1 指纹。

如何从密钥库获取签名指纹

如果您有密钥库文件,请使用 keytool 实用程序确定指纹。

keytool -list -v -alias your-key-name -keystore path-to-production-keystore

然后,keytool 实用程序会将指纹输出到终端。例如:

   Certificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09

如何从 Play 应用签名功能获取应用签名密钥

使用 Play 应用签名时,Google 会管理应用的签名密钥,并使用该密钥为您的 APK 签名。 此密钥应该用于签名指纹。

  1. 在 Google Play 管理中心的“应用签名”页面中,滚动到“应用签名密钥证书”
  2. 使用 SHA-1 证书指纹

创建 OAuth 2.0 客户端 ID

对于上述步骤中每个适用的签名密钥,在您的 Google Cloud 项目的凭据中创建一个 OAuth 2.0 客户端 ID。

  • 在 Google Cloud 中,打开“凭据”页面。

    凭据

  • 点击创建凭据,然后从菜单中选择 OAuth 客户端 ID

  • 填写必填字段,如下所示:

    • Application type:选择 Android
    • Package name:使用 AndroidManifest.xml 中声明的软件包名称。
    • SHA-1 证书指纹:使用在前面步骤中获得的指纹。
  • 创建

包含必需的库

  1. 在应用的依赖项中添加 com.google.android.gms:play-services-auth:16+
  2. 如果您使用代码缩减功能,请将其添加到应用的 build.gradle 文件中:

    buildTypes {
      release {
        ...
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
      }
    }
    
  3. 将以下内容添加到应用的 proguard-rules.pro 文件中:

    -keep class com.google.android.gms.common.** { *; }
    -keep class com.google.android.gms.location.** { *; }
    -keep class com.google.android.gms.auth.** { *; }
    -keep class com.google.android.gms.tasks.** { *; }
    

您的应用现已配置为使用无密钥身份验证。

API 密钥

  1. 在 Google Cloud 中,打开“凭据”页面。
    凭据
  2. 选择创建凭据,然后从菜单中选择 API 密钥
    “已创建 API 密钥”对话框会显示新创建的密钥的字符串。
  3. 在 Android Studio 中,将新的 API 密钥添加到项目中。将该 API 密钥添加到应用 AndroidManifest.xml<application> 元素的 <meta-data> 元素中:

    <meta-data
      android:name="com.google.android.ar.API_KEY"
      android:value="API_KEY"/>
    
  4. 请查看有关 API 密钥限制的文档,以保护您的 API 密钥。

您的应用现已配置为使用 API 密钥。

后续步骤

配置授权后,请查看以下使用授权的 ARCore 功能: