Используйте API ARCore в Google Cloud

Выберите платформу:

Функции ARCore, такие как Geospatial API и Cloud Anchors, используют API ARCore, размещенный в Google Cloud. При использовании этих функций ваше приложение использует учетные данные для доступа к службе API ARCore.

В этом кратком руководстве описывается, как настроить приложение, чтобы оно могло взаимодействовать со службой API ARCore, размещенной в Google Cloud.

Создайте новый проект Google Cloud или используйте существующий проект.

Если у вас есть существующий проект, выберите его.

Перейти к выбору проектов

Если у вас нет существующего проекта Google Cloud, создайте его.

Создать новый проект

Включите API ARCore

Чтобы использовать API ARCore, вы должны включить его в своем проекте.

Включите API ARCore

Настройте метод авторизации

Приложение Android может взаимодействовать с API ARCore, используя два разных метода авторизации: авторизация без ключа (OAuth 2.0), которая является рекомендуемым методом, и авторизация по ключу API:

  • Бесключевая авторизация использует комбинацию имени пакета приложения и отпечатка ключа подписи для авторизации вашего приложения.
  • Ключ API — это строка, идентифицирующая проект Google Cloud. Ключи API обычно не считаются безопасными, поскольку они обычно доступны клиентам. Рассмотрите возможность использования авторизации без ключа для связи с API ARCore.

Бесключевой доступ

Чтобы авторизовать свое приложение с помощью аутентификации без ключа , создайте идентификаторы клиентов OAuth 2.0.

Определить отпечатки ключей подписи

Идентификатор клиента OAuth 2.0 использует отпечаток ключа подписи вашего приложения для идентификации вашего приложения.

Как получить отпечаток подписи отладки

При запуске или отладке проекта инструменты Android SDK автоматически подписывают ваше приложение с помощью созданного сертификата отладки.

  • В Android Studio откройте панель инструментов Gradle .
  • Перейдите к project-name > Задачи > android .
  • Запустите задачу SigningReport .

  • Скопируйте отпечаток 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 App Signing

При использовании подписи приложений Google Google управляет ключом подписи вашего приложения и использует его для подписи ваших APK. Этот ключ следует использовать для подписи отпечатка пальца.

  1. На странице подписи приложений в консоли Google Play прокрутите до пункта Сертификат ключа подписи приложения .
  2. Используйте отпечаток сертификата SHA-1 .

Создайте идентификаторы клиентов OAuth 2.0.

Для каждого применимого ключа подписи из предыдущих шагов создайте идентификатор клиента OAuth 2.0 в учетных данных вашего проекта Google Cloud.

  • В Google Cloud откройте страницу «Учетные данные».

    Реквизиты для входа

  • Нажмите «Создать учетные данные» , затем выберите в меню идентификатор клиента OAuth .

  • Заполните необходимые поля следующим образом:

    • Тип приложения : выберите Android .
    • Имя пакета : используйте имя пакета, объявленное в 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 в элемент <meta-data> элемента <application> в AndroidManifest.xml вашего приложения:

    <meta-data
      android:name="com.google.android.ar.API_KEY"
      android:value="API_KEY"/>
    
  4. Ознакомьтесь с документацией по ограничениям ключей API , чтобы защитить свой ключ API.

Теперь ваше приложение настроено на использование ключей API.

Что дальше

После настройки авторизации проверьте следующие функции ARCore, которые ее используют: