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 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 zur Verwendung mit anderen Diensten generieren. Weitere Funktionen sind:

Sicherheitstokens generieren

Die Instanz-ID bietet eine einfache API zum Generieren von Sicherheitstokens, mit denen Dritte auf die serverseitig verwalteten Ressourcen Ihrer Anwendung zugreifen können.

Authentizität der App überprüfen

Übergeben Sie Instanz-ID-Tokens an Ihren Server und prüfen Sie mit dem Instanz-ID-Dienst den Paketnamen der Anwendung und ob er eine gültige Signatur hat. Durch die Überprüfung von Tokens mit der Instanz-ID des Cloud-Dienstes lassen sich bekannte Anwendungen leichter identifizieren. Konfigurieren Sie Ihren Server so, dass diese Tokens gespeichert werden, damit die Prüfung nur einmal erforderlich ist, um Kosten und redundante Umlaufkommunikation zu reduzieren. 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 kann Ihnen mitteilen, wann das Gerät, auf dem Ihre App installiert wurde, zuletzt verwendet wurde. Auf dieser Grundlage können Sie entscheiden, ob Sie Daten von Ihrer App behalten oder eine Push-Nachricht senden möchten, um Ihre Nutzer noch einmal anzusprechen.

Apps erkennen und beobachten

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 identisch ist, die auf Ihrem Server registriert ist. Aus Datenschutzgründen kann Ihre Anwendung eine Instanz-ID löschen, sodass sie nicht mehr mit einem Verlauf in der Datenbank verknüpft ist. Wenn Ihre App das nächste Mal Instanz-ID aufruft, erhält sie eine völlig neue Instanz-ID, die keinen Bezug zur vorherigen hat.

Lebenszyklus der Instanz-ID

  1. Der Instanz-ID-Dienst gibt einen InstanceID aus, wenn die Anwendung online geht. Das InstanceID wird durch ein öffentliches/privates Schlüsselpaar gesichert, das aus dem auf dem lokalen Gerät gespeicherten privaten Schlüssel und dem beim Instanz-ID-Dienst registrierten öffentlichen Schlüssel besteht.
  2. Ihre Anwendung kann bei Bedarf mit der Methode getID() eine neue InstanceID anfordern. Ihre App kann sie auf Ihrem Server speichern, wenn Sie einen haben, der Ihre App unterstützt.
  3. Ihre App kann bei Bedarf mit der Methode getToken() Tokens vom Instanz-ID-Dienst anfordern. Wie InstanceID kann Ihre App Tokens auch auf Ihrem eigenen Server speichern. Alle für Ihre App ausgestellten Tokens gehören zum InstanceID der App.
  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. Die Anwendung muss einen Listener implementieren, um auf Anfragen zur Tokenaktualisierung vom Instanz-ID-Dienst zu antworten.

Lebenszyklus der Instanz-ID

Clientimplementierung

Die Instanz-ID wird sowohl unter Android als auch unter iOS ausgeführt. Für beide muss die entsprechende Bibliothek in Ihre Client-App eingebunden werden. Für Android sind Google Play-Dienste erforderlich. 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.