Registrierung und API-Schlüssel

Wenn Sie die Google Awareness API verwenden möchten, müssen Sie Ihrer App einen Google API-Schlüssel hinzufügen. Der Typ des benötigten API-Schlüssels ist ein Android API-Schlüssel.

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

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

Sie benötigen mehrere Schritte, um einen Schlüssel für Ihre Anwendung zu erhalten. Sie werden in dieser Anleitung ausführlich beschrieben und so zusammengefasst:

  1. Informationen zum Zertifikat Ihrer App abrufen.
  2. Registrieren Sie ein Projekt in der Google Developers Console und fügen Sie die User Context API als Dienst für das Projekt hinzu.
  3. Fordern Sie einen Schlüssel an.
  4. Fügen Sie der App den Schlüssel hinzu. Fügen Sie dazu ein Element in Ihr App-Manifest ein.

Informationen des Zertifikats Ihrer App finden

Der API-Schlüssel basiert auf einer kurzen Form des digitalen Zertifikats Ihrer App, auch SHA-1-Fingerabdruck genannt. Damit der SHA-1-Fingerabdruck für Ihr Zertifikat angezeigt wird, müssen Sie das richtige Zertifikat verwenden. Sie können aus den folgenden beiden Zertifikaten wählen:

  • 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. Versuchen Sie nicht, eine App zu veröffentlichen, die mit einem Debug-Zertifikat signiert ist. Das Debug-Zertifikat wird ausführlicher im Abschnitt Debug-Build signieren in der Dokumentation für Android-Entwickler beschrieben.
  • Freigabezertifikat: Die Android SDK-Tools generieren dieses Zertifikat automatisch, wenn du ein Releasebuild ausführst. Sie können dieses Zertifikat auch mit dem Programm keytool generieren. Verwenden Sie dieses Zertifikat, wenn Sie Ihre App für die Allgemeinheit veröffentlichen möchten.

Weitere Informationen zu keytool finden Sie in der Oracle-Dokumentation.

Debug-Zertifikat

Fingerabdruck des Debug-Zertifikats aufrufen

Verwenden Sie das Programm keytool mit dem Parameter -v, um den SHA-1-Fingerabdruck eines Zertifikats anzuzeigen. Führen Sie dazu folgende Schritte aus:

  1. Suche nach deiner Debug-Schlüsselspeicherdatei. Der Dateiname ist debug.keystore und wird beim ersten Erstellen Ihres Projekts erstellt. Standardmäßig ist es im selben Verzeichnis wie Ihre AVD-Dateien (Android Virtual Device) gespeichert:

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

    • Öffnen Sie unter Linux oder OS X ein Terminalfenster und geben Sie Folgendes ein:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • Führen Sie für Windows Vista und Windows 7 folgenden Befehl 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
Veröffentlichungszertifikat

Fingerabdruck des Releasezertifikats anzeigen

Verwenden Sie das Programm keytool mit dem Parameter -v, um den SHA-1-Fingerabdruck eines Zertifikats anzuzeigen. Führen Sie 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 Sie beim Erstellen der Anwendung für die Veröffentlichung keine Angabe machen, wird der .apk von dem Build unsigniert und Sie müssen ihn vor der Veröffentlichung signieren. Für das Release-Zertifikat benötigen Sie auch den Alias des Zertifikats, die Passwörter für den Schlüsselspeicher und das Zertifikat.
  2. Geben Sie Folgendes ein, um die Aliasse für alle Schlüssel in einem Schlüsselspeicher aufzulisten:

    keytool -list -keystore your_keystore_name
          
  3. Ersetzen Sie your_keystore_name durch den voll qualifizierten Pfad und Namen des Schlüsselspeichers. Fügen Sie die Erweiterung .keystore hinzu. Geben Sie bei Aufforderung das Passwort für den Schlüsselspeicher ein. Dann zeigt keytool alle Aliasse im Schlüsselspeicher an.
  4. Gib Folgendes in einem Terminal oder bei einer Eingabeaufforderung ein:

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. Ersetzen Sie your_keystore_name durch den voll qualifizierten Pfad und Namen des Schlüsselspeichers. Fügen Sie die Erweiterung .keystore hinzu.
  6. Ersetzen Sie your_alias_name durch den Alias, den Sie dem Zertifikat beim Erstellen zugewiesen haben.

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 in der Google Developers Console anfordern

Wenn Sie die Google Awareness API verwenden möchten, klicken Sie auf die Schaltfläche Schlüssel abrufen. Er ist mit der Google Developers Console verknüpft, die Sie 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. Rufen Sie die Google Developers Console auf.
  2. Wählen Sie ein Projekt aus oder erstellen Sie ein neues.
  3. Klicken Sie auf Weiter, um die Awareness API zu aktivieren.
  4. Erstellen Sie auf der Seite „Anmeldedaten“ einen Android-Schlüssel und legen Sie die API-Anmeldedaten fest.

  5. Im Dialogfeld „Schlüssel erstellen“ müssen Sie Ihre Nutzung auf Android-Apps einschränken. Geben Sie dazu den SHA-1-Fingerabdruck und den Paketnamen Ihrer App ein. 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. Klicken Sie auf Erstellen. Der neue Android API-Schlüssel wird in der Liste der API-Schlüssel für Ihr Projekt angezeigt. Ein API-Schlüssel ist ein String aus Zeichen, z. B.:

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

Jetzt, da Sie einen API-Schlüssel haben, können Sie ihn dem Manifest Ihrer App hinzufügen, wie im Startleitfaden beschrieben.

Zusätzliche APIs aktivieren

Mit der Awareness API können Sie auf verschiedene Arten von Kontextdaten zugreifen, z. B. auf Beacons. Wenn Sie diese Typen verwenden möchten, müssen Sie die entsprechenden APIs in der Google Developers Console aktivieren.

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