Was ist eine Instanz-ID?

Die Instanz-ID stellt eine eindeutige ID pro Instanz Ihrer Anwendungen bereit. Sie können die Instanz-ID für Android- und iOS-Apps sowie für Chrome-Apps/-Erweiterungen implementieren.

Wichtige Features

Die Instanz-ID kann nicht nur eindeutige IDs für die Authentifizierung bereitstellen, sondern auch Sicherheitstokens für die Verwendung mit anderen Diensten generieren. Weitere Funktionen sind:

Sicherheitstokens generieren

Mit der Instanz-ID können Sie mit einer einfachen API Sicherheitstokens generieren, die Dritten den Zugriff auf die serverseitig verwalteten Ressourcen Ihrer Anwendung gewähren.

Authentizität der App prüfen

Übergeben Sie Instanz-ID-Tokens an Ihren Server und prüfen Sie mithilfe des Instanz-ID-Dienstes, ob der Paketname der Anwendung eine gültige Signatur hat. Durch die Überprüfung von Tokens mit der Instanz-ID des Cloud-Dienstes lassen sich bekannte Anwendungen leichter identifizieren. Um Kosten und redundante Umlaufkommunikation zu reduzieren, konfigurieren Sie Ihren Server so, dass diese Tokens gespeichert werden, sodass die Prüfung nur einmal erforderlich ist. Bei Sicherheitsproblemen kann Ihre Anwendung Tokens oder die Instanz-ID selbst löschen und neue Tokens generieren. Darüber hinaus initiiert der Instanz-ID-Server die Aktualisierung des Tokens oder der Instanz-ID, wenn er Programmfehler oder Sicherheitsprobleme erkennt.

Prüfen, ob das App-Gerät aktiv ist

Der Instanz-ID-Server teilt Ihnen mit, wann das Gerät, auf dem Ihre App installiert wurde, zuletzt verwendet wurde. Damit können Sie entscheiden, ob Sie Daten aus Ihrer App behalten oder eine Push-Nachricht senden, um Ihre Nutzer noch einmal anzusprechen.

Apps erkennen und erfassen

Die Instanz-ID ist für alle Anwendungsinstanzen weltweit eindeutig. Ihre Datenbank kann sie daher verwenden, um Anwendungsinstanzen eindeutig zu identifizieren und zu verfolgen. Ihr serverseitiger Code kann über den Cloud-Dienst „Instanz-ID“ prüfen, ob eine Instanz-ID echt und mit der ID der ursprünglichen Anwendung übereinstimmt, die auf Ihrem Server registriert ist. Aus Datenschutzgründen kann Ihre Anwendung eine Instanz-ID löschen, sodass sie keinem Verlauf in der Datenbank mehr zugeordnet ist. Wenn Ihre App das nächste Mal Instanz-ID aufruft, erhält sie eine völlig neue Instanz-ID ohne Beziehung zur vorherigen.

Lebenszyklus der Instanz-ID

  1. Der Instanz-ID-Dienst gibt einen InstanceID aus, wenn Ihre Anwendung online geht. Das InstanceID wird durch ein öffentliches/privates Schlüsselpaar abgesichert, aus dem auf dem lokalen Gerät gespeicherte private Schlüssel und der beim Instanz-ID-Dienst registrierte öffentliche Schlüssel.
  2. Ihre Anwendung kann bei Bedarf mit der Methode getID() ein neues InstanceID anfordern. Ihre Anwendung kann sie auf Ihrem Server speichern, wenn Sie einen haben, der Ihre Anwendung unterstützt.
  3. Ihre Anwendung kann bei Bedarf Tokens vom Instanz-ID-Dienst mit der Methode getToken() anfordern. Wie InstanceID kann Ihre Anwendung Tokens auch auf Ihrem eigenen Server speichern. Alle für Ihre Anwendung ausgegebenen Tokens gehören zum InstanceID der Anwendung.
  4. Tokens sind eindeutig und sicher. Es kann jedoch sein, dass Ihre App oder der Instanz-ID-Dienst Tokens aktualisieren müssen, wenn ein Sicherheitsproblem auftritt oder ein Nutzer Ihre App während der Gerätewiederherstellung deinstalliert und neu installiert. Ihre Anwendung muss einen Listener implementieren, der auf Anfragen zur Tokenaktualisierung vom Instanz-ID-Dienst antwortet.

Lebenszyklus der Instanz-ID

Clientimplementierung

Die Instanz-ID wird sowohl unter Android als auch unter iOS ausgeführt. In beiden Fällen müssen Sie die entsprechende Bibliothek in Ihre Client-App einbinden. Android erfordert Google Play-Dienste. Wenn Sie Tokens generieren möchten, benötigen Sie eine von der Google Developers Console generierte Projekt-ID.

Eine ausführliche Anleitung finden Sie in den Implementierungsleitfäden für Android und iOS.