ARCore API in Google Cloud verwenden

Plattform auswählen:

ARCore-Funktionen wie die Geospatial API und Cloud Anchors verwenden die in Google Cloud gehostete ARCore API. Wenn Sie diese Funktionen verwenden, greift Ihre Anwendung mit Anmeldedaten auf den ARCore API-Dienst zu.

In dieser Kurzanleitung wird beschrieben, wie Sie Ihre Anwendung so einrichten, dass sie mit dem in Google Cloud gehosteten ARCore API-Dienst kommunizieren kann.

Ein neues Google Cloud-Projekt erstellen oder ein vorhandenes Projekt verwenden

Wenn Sie ein vorhandenes Projekt haben, wählen Sie es aus.

Zur Projektauswahl

Wenn Sie noch kein Google Cloud-Projekt haben, erstellen Sie eines.

Neues Projekt erstellen

ARCore API aktivieren

Wenn Sie die ARCore API verwenden möchten, müssen Sie sie in Ihrem Projekt aktivieren.

ARCore API aktivieren

Autorisierungsmethode einrichten

Eine Android-App kann mit der ARCore API über zwei verschiedene Autorisierungsmethoden kommunizieren: die schlüssellose Autorisierung (OAuth 2.0), die empfohlene Methode, und die Autorisierung mit API-Schlüssel:

  • Bei der schlüssellosen Autorisierung wird eine Kombination aus dem Paketnamen der Anwendung und dem Fingerabdruck des Signaturschlüssels verwendet, um Ihre Anwendung zu autorisieren.
  • Ein API-Schlüssel ist ein String, der ein Google Cloud-Projekt identifiziert. API-Schlüssel gelten generell nicht als sicher, da sie normalerweise für Clients zugänglich sind. Erwägen Sie, die ARCore API ohne Schlüssel zu autorisieren.

Schlüssellose

Wenn Sie Ihre App mit der schlüssellosen Authentifizierung autorisieren möchten, erstellen Sie OAuth 2.0-Client-IDs.

Fingerabdrücke des Signaturschlüssels ermitteln

Eine OAuth 2.0-Client-ID verwendet den Fingerabdruck des Signaturschlüssels Ihrer App, um Ihre App zu identifizieren.

Release-Signierschlüssel.

Debug-Signatur-Fingerabdruck erhalten

Wenn Sie Ihr Projekt ausführen oder debuggen, signieren die Android SDK-Tools Ihre App automatisch mit einem generierten Debug-Zertifikat.

  • Öffnen Sie in Android Studio das Gradle-Toolfenster.
  • Gehen Sie zu project-name > Tasks > android.
  • Führen Sie die Aufgabe signingReport aus.

  • Kopieren Sie den SHA‑1-Fingerabdruck für die debug-Variante.

Signatur-Fingerabdruck aus einem Keystore abrufen

Wenn Sie eine Keystore-Datei haben, verwenden Sie das keytool-Tool, um den Fingerabdruck zu ermitteln.

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

Das keytool-Tool gibt den Fingerabdruck dann im Terminal aus. Beispiel:

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

Signaturschlüssel Ihrer App über die Play App-Signatur abrufen

Wenn Sie die Play App-Signatur verwenden, verwaltet Google den Signaturschlüssel Ihrer App und verwendet ihn zum Signieren Ihrer APKs. Dieser Schlüssel sollte für den Signatur-Fingerabdruck verwendet werden.

  1. Scrollen Sie in der Google Play Console auf der Seite App-Signatur zu Zertifikat für App-Signaturschlüssel.
  2. Verwenden Sie den SHA-1-Zertifikat-Fingerabdruck.

OAuth 2.0-Client-IDs erstellen

Erstellen Sie für jeden entsprechenden Signierschlüssel aus den vorherigen Schritten eine OAuth 2.0-Client-ID in den Anmeldedaten Ihres Google Cloud-Projekts.

  • Öffnen Sie in Google Cloud die Seite „Anmeldedaten“.

    Anmeldedaten

  • Klicken Sie auf Anmeldedaten erstellen und wählen Sie im Menü OAuth-Client-ID aus.

  • Füllen Sie die Pflichtfelder so aus:

    • Anwendungstyp: Wählen Sie Android aus.
    • Paketname: Verwenden Sie den Paketnamen, der in Ihrer Datei AndroidManifest.xml deklariert ist.
    • SHA-1-Zertifikat-Fingerabdruck: Verwenden Sie einen Fingerabdruck, den Sie in vorherigen Schritten abgerufen haben.
  • Klicken Sie auf Erstellen.

Erforderliche Bibliotheken einbinden

  1. Fügen Sie com.google.android.gms:play-services-auth:16+ den Abhängigkeiten Ihrer App hinzu.
  2. Wenn Sie Code-Minifizierung verwenden, fügen Sie sie der Datei build.gradle Ihrer App hinzu:

    buildTypes {
      release {
        ...
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
      }
    }
    
  3. Fügen Sie der Datei proguard-rules.pro Ihrer App Folgendes hinzu:

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

Ihre App ist jetzt für die schlüssellose Authentifizierung konfiguriert.

API-Schlüssel

  1. Öffnen Sie in Google Cloud die Seite „Anmeldedaten“.
    Anmeldedaten
  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie im Menü API-Schlüssel aus.
     Das Dialogfeld „API-Schlüssel erstellt“ enthält den String für den neu erstellten Schlüssel.
  3. Fügen Sie den neuen API-Schlüssel in Android Studio Ihrem Projekt hinzu. Fügen Sie den API-Schlüssel in ein <meta-data>-Element im <application>-Element in der AndroidManifest.xml Ihrer App ein:

    <meta-data
      android:name="com.google.android.ar.API_KEY"
      android:value="API_KEY"/>
    
  4. Dokumentation zu API-Schlüsseleinschränkungen

Ihre App ist jetzt für die Verwendung von API-Schlüsseln konfiguriert.

Nächste Schritte

Nachdem Sie die Autorisierung konfiguriert haben, können Sie sich die folgenden ARCore-Funktionen ansehen, die sie verwenden: