ARCore API in Google Cloud verwenden

Plattform auswählen:

Für ARCore-Funktionen wie die Geospatial API und Cloud Anchors wird die in Google Cloud gehostete ARCore API verwendet. Bei der Nutzung dieser Funktionen greift Ihre Anwendung mithilfe von 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.

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 über zwei verschiedene Autorisierungsmethoden mit der ARCore API kommunizieren: die schlüssellose Autorisierung (OAuth 2.0) ist die empfohlene Methode und die API-Schlüsselautorisierung:

  • Bei der schlüssellosen Autorisierung wird zur Autorisierung der Anwendung eine Kombination aus dem Paketnamen der Anwendung und dem Fingerabdruck des Signaturschlüssels verwendet.
  • Ein API-Schlüssel ist ein String, der ein Google Cloud-Projekt identifiziert. API-Schlüssel gelten im Allgemeinen nicht als sicher, da sie normalerweise für Clients zugänglich sind. Du kannst die schlüssellose Autorisierung verwenden, um mit der ARCore API zu kommunizieren.

Schlüsselloser

Erstellen Sie OAuth 2.0-Client-IDs, um die Anwendung mit der schlüssellosen Authentifizierung zu autorisieren.

Fingerabdrücke für Signaturschlüssel ermitteln

Bei einer OAuth 2.0-Client-ID wird die Anwendung anhand des Signaturschlüssel-Fingerabdrucks identifiziert.

Signatur-Fingerabdruck zur Fehlerbehebung abrufen

Beim Ausführen oder Debuggen Ihres Projekts signieren die Android SDK-Tools deine App automatisch mit einem generierten Debug-Zertifikat.

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

  • Kopieren Sie den SHA-1-Fingerabdruck für die Variante zur Fehlerbehebung.

Signierenden Fingerabdruck von einem Schlüsselspeicher abrufen

Wenn Sie eine Schlüsselspeicherdatei haben, verwenden Sie das Dienstprogramm keytool, um den Fingerabdruck zu ermitteln.

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

Das keytool-Dienstprogramm 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

So erhalten Sie den Signaturschlüssel Ihrer App über Play App Signing

Wenn du Play App-Signatur verwendest, verwaltet Google den Signaturschlüssel deiner App und verwendet ihn zum Signieren deiner APKs. Dieser Schlüssel wird für den signierenden Fingerabdruck verwendet.

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

OAuth 2.0-Client-IDs erstellen

Erstellen Sie für jeden anwendbaren Signaturschlü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 dann im Menü die Option OAuth-Client-ID aus.

  • Füllen Sie die erforderlichen Felder so aus:

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

Erforderliche Bibliotheken einschließen

  1. Fügen Sie com.google.android.gms:play-services-auth:16+ in die Abhängigkeiten Ihrer App ein.
  2. Wenn Sie eine Komprimierung von Code verwenden, fügen Sie diese der Datei build.gradle Ihrer Anwendung hinzu:

    buildTypes {
      release {
        ...
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
      }
    }
    
  3. Fügen Sie der Datei proguard-rules.pro Ihrer Anwendung 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 Anwendung ist jetzt für die Verwendung der schlüssellosen 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.
    Im Dialogfeld „API-Schlüssel erstellt“ wird der String für den neu erstellten Schlüssel angezeigt.
  3. Fügen Sie Ihrem Projekt in Android Studio den neuen API-Schlüssel hinzu. Fügen Sie den API-Schlüssel in ein <meta-data>-Element im <application>-Element in den AndroidManifest.xml Ihrer App ein:

    <meta-data
      android:name="com.google.android.ar.API_KEY"
      android:value="API_KEY"/>
    
  4. Informationen zur Sicherung des API-Schlüssels finden Sie in der Dokumentation zu Einschränkungen für API-Schlüssel.

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

Nächste Schritte

Wenn die Autorisierung konfiguriert ist, kannst du die folgenden ARCore-Funktionen ausprobieren: