Registrierung und API-Schlüssel

Wenn du die Google Awareness API verwenden möchtest, musst du deiner App einen Google API-Schlüssel hinzufügen. Der benötigte API-Schlüssel ist ein Android-API-Schlüssel.

Alle Android-Apps sind mit einem digitalen Zertifikat signiert, für das du den privaten Schlüssel besitzt. Weitere Informationen zu digitalen Zertifikaten findest du im Android-Leitfaden zum Signieren von Apps.

Android-API-Schlüssel sind mit bestimmten Zertifikat-Paket-Paaren verknüpft. Du benötigst nur einen Schlüssel pro Zertifikat, unabhängig davon, wie viele Nutzer die App haben.

Es sind mehrere Schritte erforderlich, um einen Schlüssel für deine App zu erhalten. Sie werden in diesem Leitfaden ausführlich beschrieben und sind wie folgt zusammengefasst:

  1. Informationen zum Zertifikat deiner App abrufen
  2. Ein Projekt in der Google Developers Console registrieren und die User Context API als Dienst für das Projekt hinzufügen
  3. Einen Schlüssel anfordern
  4. Den Schlüssel deiner App hinzufügen. Füge dazu dem App-Manifest ein Element hinzu.

Zertifikatsinformationen für deine App finden

Der API-Schlüssel basiert auf einer Kurzform des digitalen Zertifikats deiner App, auch bekannt als SHA-1-Fingerabdruck. Wenn du den SHA-1 Fingerabdruck für dein Zertifikat aufrufen möchtest, musst du zuerst sicherstellen, dass du das richtige Zertifikat verwendest. Du hast möglicherweise die folgenden beiden Zertifikate zur Auswahl:

  • Debug-Zertifikat: Die Android SDK-Tools generieren dieses Zertifikat automatisch, wenn du ein Debug-Build ausführst. Verwende dieses Zertifikat nur bei Apps, die du testest. Veröffentliche keine Apps, die mit einem Debug-Zertifikat signiert sind. Das Debug-Zertifikat wird im Abschnitt zum Signieren von Debug-Builds in der Android-Entwicklerdokumentation näher beschrieben.
  • Release-Zertifikat: Die Android SDK-Tools generieren dieses Zertifikat automatisch, wenn du ein Release-Build ausführst. Du kannst dieses Zertifikat auch mit dem keytool Programm generieren. Verwende dieses Zertifikat, wenn du deine App veröffentlichen möchtest.

Weitere Informationen zu keytool findest du in der Oracle-Dokumentation.

Debug-Zertifikat

Fingerabdruck des Debug-Zertifikats aufrufen

Verwende das keytool Programm mit dem -v Parameter, um den SHA-1-Fingerabdruck eines Zertifikats aufzurufen. Führe dazu folgende Schritte aus:

  1. Suche nach deiner Debug-Schlüsselspeicherdatei. Der Dateiname ist debug.keystore und wird beim ersten Erstellen des Projekts erstellt. Standardmäßig befindet sich die Datei in demselben Verzeichnis wie deine Android AVD-Dateien (Android Virtual Device):

    • OS X und Linux: ~/.android/
    • Windows Vista und Windows 7: C:\Users\your_user_name\.android\
  2. SHA-1-Fingerabdruck auflisten:

    • Öffne unter Linux oder OS X ein Terminalfenster und gib Folgendes ein:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • Führe unter Windows Vista und Windows 7 Folgendes aus:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Die Ausgabe sollte in etwa so aussehen:

Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3
Release-Zertifikat

Fingerabdruck des Freigabezertifikats aufrufen

Verwende das keytool Programm mit dem -v Parameter, um den SHA-1-Fingerabdruck eines Zertifikats aufzurufen. Führe dazu folgende Schritte aus:

  1. Suche nach der Schlüsselspeicherdatei deines Freigabezertifikats. Es gibt keinen Standardspeicherort oder -namen für den Release-Schlüsselspeicher. Wenn du beim Erstellen deiner App für die Veröffentlichung keinen angibst, bleibt die .apk unsigniert und du musst sie signieren, bevor du sie veröffentlichen kannst. Für das Freigabezertifikat benötigst du auch den Zertifikats alias und die Kennwörter für den Schlüsselspeicher und das Zertifikat.
  2. Gib Folgendes ein, um die Aliasnamen für alle Schlüssel in einem Schlüsselspeicher aufzulisten:

    keytool -list -keystore your_keystore_name
          
  3. Ersetze your_keystore_name durch den vollständig qualifizierten Pfad und Namen des Schlüsselspeichers. Füge die .keystore Erweiterung hinzu. Gib das Kennwort des Schlüsselspeichers ein, wenn du dazu aufgefordert wirst. Dann werden alle Aliasnamen im Schlüsselspeicher angezeigt.keytool
  4. Gib Folgendes in einem Terminal oder bei einer Eingabeaufforderung ein:

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. Ersetze your_keystore_name durch den vollständig qualifizierten Pfad und Namen des Schlüsselspeichers. Füge die .keystore Erweiterung hinzu.
  6. Ersetze your_alias_name durch den Alias, den du dem Zertifikat beim Erstellen zugewiesen hast.

Die Ausgabe sollte in etwa so aussehen:

Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

Die Zeile, die mit SHA1 beginnt, enthält den SHA-1 Fingerabdruck des Zertifikats. Der Fingerabdruck ist eine Abfolge aus 20 zweistelligen Hexadezimalzahlen, die durch Doppelpunkte getrennt sind.

API-Schlüssel über die Google Developers Console abrufen

Klicke auf die Schaltfläche Schlüssel anfordern, um mit der Google Awareness API zu beginnen. Du wirst zur Google Developers Console weitergeleitet, die dich durch den Prozess führt und die Awareness API automatisch aktiviert.

Schlüssel anfordern

Du hast auch die Möglichkeit, die folgenden Schritte auszuführen, um einen API-Schlüssel zu erhalten:

  1. Wechsle zur Google Developers Console.
  2. Wähle ein Projekt aus oder erstelle ein neues.
  3. Klicke auf Weiter , um die Awareness API zu aktivieren.
  4. Erstelle auf der Seite „Anmeldedaten“ einen Android-Schlüssel und lege die API-Anmeldedaten fest.

  5. Im Dialogfeld „Schlüssel erstellen“ musst du die Nutzung auf Android-Apps beschränken. Gib dazu den SHA-1-Fingerabdruck und den Paketnamen deiner App ein, wie im folgenden Beispiel:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    
    com.example.android.awareness-example
    
  6. Klicke auf Erstellen. Der neue Android-API-Schlüssel wird in der Liste der API-Schlüssel für dein Projekt angezeigt. Ein API-Schlüssel ist eine Zeichenfolge, wie im folgenden Beispiel:

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

Nachdem du einen API-Schlüssel erhalten hast, kannst du ihn dem Manifest deiner App hinzufügen, wie im Leitfaden „Erste Schritte“ beschrieben.

Zusätzliche APIs aktivieren

Mit der Awareness API kannst du auf verschiedene Arten von Kontextdaten zugreifen, z. B. auf Beacons. Wenn du diese Typen verwenden möchtest, musst du die entsprechenden APIs in der Google Developers Console aktivieren.

Dienst Awareness API-Methoden Zu aktivierende API
Beacons SnapshotApi.getBeaconState(), FenceApi.BeaconFence Nearby Messages API