Principales fonctionnalités
En plus de fournir des ID uniques pour l'authentification, l'ID d'instance peut générer des jetons de sécurité à utiliser avec d'autres services. Voici quelques-unes des autres fonctionnalités:
Générer des jetons de sécurité
- L'ID d'instance fournit une API simple pour générer des jetons de sécurité qui autorisent des tiers à accéder aux ressources gérées côté serveur de votre application.
Valider l'authenticité de l'application
- Transmettez des jetons d'ID d'instance à votre serveur et utilisez le service d'ID d'instance pour vérifier le nom du package de l'application et vérifier s'il dispose d'une signature valide. La validation des jetons avec le service cloud Instance ID permet d'identifier les applications connues. Pour réduire les coûts et les communications aller-retour redondantes, configurez votre serveur pour qu'il stocke ces jetons afin que la vérification ne soit nécessaire qu'une seule fois. En cas de problème de sécurité, votre application peut supprimer des jetons ou l'ID d'instance elle-même, et en générer de nouveaux. De plus, le serveur d'ID d'instance lance l'actualisation du jeton ou de l'ID d'instance s'il détecte des bugs ou des problèmes de sécurité.
Vérifier que l'appareil de l'application est actif
- Le serveur d'ID d'instance peut vous indiquer la dernière fois que l'appareil sur lequel votre application est installée a été utilisé. Utilisez-le pour décider de conserver les données de votre application ou d'envoyer un message push pour réengager vos utilisateurs.
Identifier et suivre les applications
L'ID d'instance - est unique pour toutes les instances d'application dans le monde. Votre base de données peut donc l'utiliser pour identifier et suivre de manière unique les instances d'application. Votre code côté serveur peut vérifier, via le service cloud d'ID d'instance, qu'un ID d'instance est authentique et qu'il s'agit du même ID que l'application d'origine enregistrée auprès de votre serveur. Pour des raisons de confidentialité, votre application peut supprimer un ID d'instance afin qu'il ne soit plus associé à aucun historique dans la base de données. La prochaine fois que votre application appelle l'ID d'instance, elle obtiendra un nouvel ID d'instance sans aucune relation avec le précédent.
Cycle de vie des ID d'instance
- Le service d'ID d'instance émet un
InstanceID
lorsque votre application est mise en ligne.InstanceID
est basé sur une paire de clés publique/privée, la clé privée étant stockée sur l'appareil local et la clé publique enregistrée auprès du service d'ID d'instance. - Votre application peut demander un nouvel élément
InstanceID
chaque fois que nécessaire à l'aide de la méthodegetID()
. Votre application peut le stocker sur votre serveur si vous en avez un compatible. - Votre application peut demander des jetons au service d'ID d'instance si nécessaire à l'aide de la méthode
getToken()
. CommeInstanceID
, votre application peut également stocker des jetons sur votre propre serveur. Tous les jetons émis pour votre application appartiennent à l'InstanceID
de l'application. - Les jetons sont uniques et sécurisés, mais votre application ou le service d'ID d'instance peut être amené à actualiser les jetons en cas de problème de sécurité ou lorsqu'un utilisateur désinstalle et réinstalle votre application lors de la restauration de l'appareil. Votre application doit implémenter un écouteur pour répondre aux requêtes de renouvellement de jeton du service d'ID d'instance.
Implémentation client
L'ID d'instance s'exécute à la fois sur Android et iOS. Chacune d'elles nécessite d'inclure la bibliothèque appropriée dans votre application cliente. Android nécessite les services Google Play. Vous aurez besoin d'un ID de projet généré par la Google Developers Console si vous souhaitez générer des jetons.
Pour obtenir des instructions détaillées, consultez les guides d'implémentation pour Android et iOS.