Korzystanie z interfejsu ARCore API w Google Cloud

Wybierz platformę:

Funkcje ARCore, takie jak Geospatial API i Cloud Anchors, używają interfejsu ARCore API hostowanego w Google Cloud. Podczas korzystania z tych funkcji aplikacja używa danych logowania, aby uzyskać dostęp do usługi ARCore API.

Z tego krótkiego wprowadzenia dowiesz się, jak skonfigurować aplikację, aby komunikować się z usługą interfejsu ARCore API hostowaną w Google Cloud.

Utwórz nowy projekt Google Cloud lub użyj istniejącego projektu

Jeśli masz już projekt, wybierz go.

Otwórz selektor projektów

Jeśli nie masz żadnego projektu Google Cloud, utwórz go.

Utwórz nowy projekt

Włącz interfejs ARCore API

Aby używać interfejsu ARCore API, musisz włączyć go w swoim projekcie.

Włączanie interfejsu ARCore API

Skonfiguruj metodę autoryzacji

Aplikacja na Androida może komunikować się z interfejsem ARCore API za pomocą 2 różnych metod autoryzacji: autoryzacji bez klucza (protokół OAuth 2.0), która jest zalecana, oraz autoryzacji klucza interfejsu API:

  • Autoryzacja bez klucza wykorzystuje do autoryzacji nazwę pakietu aplikacji i odcisk cyfrowy klucza podpisywania.
  • Klucz interfejsu API to ciąg znaków identyfikujący projekt Google Cloud. Klucze interfejsu API zwykle nie są uważane za bezpieczne, ponieważ zwykle są dostępne dla klientów. Do komunikacji z interfejsem ARCore API rozważ użycie autoryzacji bez klucza.

Bez klucza

Aby autoryzować aplikację za pomocą uwierzytelniania bez klucza, utwórz identyfikatory klienta OAuth 2.0.

Określanie odcisków cyfrowych klucza podpisywania

Identyfikator klienta OAuth 2.0 identyfikuje aplikację za pomocą odcisku cyfrowego klucza podpisywania aplikacji.

Jak uzyskać odcisk cyfrowy podpisu do debugowania

Podczas uruchamiania lub debugowania projektu narzędzia Android SDK automatycznie podpisują aplikację wygenerowanym certyfikatem debugowania.

  • W Android Studio otwórz panel narzędzi Gradle.
  • Kliknij project-name > Lista zadań > Android.
  • Uruchom zadanie signingReport.

  • Skopiuj odcisk cyfrowy SHA-1 dla wariantu debugowania.

Jak uzyskać odcisk cyfrowy podpisywania z magazynu kluczy

Jeśli masz plik magazynu kluczy, użyj narzędzia keytool, aby określić odcisk cyfrowy.

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

Następnie narzędzie keytool drukuje odcisk cyfrowy na terminalu. Na przykład:

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

Jak uzyskać klucz podpisywania aplikacji z usługi podpisywania aplikacji przez Google Play

Jeśli korzystasz z podpisywania aplikacji przez Google Play, Google zarządza kluczem podpisywania Twojej aplikacji i używa go do podpisywania plików APK. Ten klucz powinien być używany na potrzeby odcisku cyfrowego podpisywania.

  1. Na stronie podpisywania aplikacji w Konsoli Google Play przewiń do sekcji Certyfikat klucza podpisywania aplikacji.
  2. Użyj odcisku cyfrowego certyfikatu SHA-1.

Tworzenie identyfikatorów klienta OAuth 2.0

Dla każdego odpowiedniego klucza podpisywania z poprzednich kroków utwórz identyfikator klienta OAuth 2.0 w danych logowania do projektu Google Cloud.

  • W Google Cloud otwórz stronę Dane logowania.

    Dane logowania

  • Kliknij Utwórz dane logowania i w menu wybierz Identyfikator klienta OAuth.

  • Wypełnij wymagane pola w następujący sposób:

    • Typ aplikacji: wybierz Android.
    • Nazwa pakietu: użyj nazwy pakietu podanej w pliku AndroidManifest.xml.
    • Odcisk cyfrowy certyfikatu SHA-1: użyj odcisku cyfrowego uzyskanego w poprzednich krokach.
  • Kliknij Utwórz.

Dołącz wymagane biblioteki

  1. Dodaj com.google.android.gms:play-services-auth:16+ w zależnościach aplikacji.
  2. Jeśli używasz minifikacji kodu, dodaj go do pliku build.gradle aplikacji:

    buildTypes {
      release {
        ...
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
      }
    }
    
  3. Dodaj do pliku proguard-rules.pro aplikacji:

    -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.** { *; }
    

Twoja aplikacja jest teraz skonfigurowana do korzystania z uwierzytelniania bez klucza.

Klucz interfejsu API

  1. W Google Cloud otwórz stronę Dane logowania.
    Dane logowania
  2. Kliknij Utwórz dane logowania i w menu wybierz Klucz interfejsu API.
    W oknie dialogowym utworzonego klucza interfejsu API pojawi się ciąg nowo utworzonego klucza.
  3. W Android Studio dodaj do projektu nowy klucz interfejsu API. Umieść klucz interfejsu API w elemencie <meta-data> w elemencie <application> w elemencie AndroidManifest.xml Twojej aplikacji:

    <meta-data
      android:name="com.google.android.ar.API_KEY"
      android:value="API_KEY"/>
    
  4. Zapoznaj się z dokumentacją dotyczącą ograniczeń klucza interfejsu API, aby zabezpieczyć swój klucz interfejsu API.

Twoja aplikacja jest teraz skonfigurowana do używania kluczy interfejsu API.

Co dalej

Po skonfigurowaniu autoryzacji sprawdź te funkcje ARCore, które z niej korzystają: