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
- Der Instanz-ID-Dienst gibt einen
InstanceID
aus, wenn die Anwendung online geht. DasInstanceID
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. - Ihre Anwendung kann bei Bedarf mit der Methode
getID()
eine neueInstanceID
anfordern. Ihre App kann sie auf Ihrem Server speichern, wenn Sie einen haben, der Ihre App unterstützt. - Ihre App kann bei Bedarf mit der Methode
getToken()
Tokens vom Instanz-ID-Dienst anfordern. WieInstanceID
kann Ihre App Tokens auch auf Ihrem eigenen Server speichern. Alle für Ihre App ausgestellten Tokens gehören zumInstanceID
der App. - 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.
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.