Principales fonctionnalités
En plus de fournir des ID uniques pour l'authentification, Instance ID peut générer des jetons de sécurité à utiliser avec d'autres services. Voici d'autres fonctionnalités :
Générer des jetons de sécurité
- Instance ID fournit une API simple pour générer des jetons de sécurité qui autorisent les tiers à accéder aux ressources gérées côté serveur de votre application.
Vérifier l'authenticité de l'application
- Transmettez les jetons Instance ID à votre serveur et utilisez le service Instance ID pour vérifier le nom du package de l'application et vérifier si elle possède une signature valide. La vérification 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 stocker 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 Instance ID lui-même, et en générer de nouveaux. De plus, le serveur Instance ID lance l'actualisation du jeton ou de l'ID d'instance s'il détecte des bugs ou des problèmes de sécurité.
Confirmer que l'appareil de l'application est actif
- Le serveur Instance ID peut vous indiquer la dernière fois que l'appareil sur lequel votre application est installée a été utilisé. Utilisez cette information 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 Instance ID, 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 appellera Instance ID, elle recevra un ID d'instance entièrement nouveau, sans aucun lien avec le précédent.
Cycle de vie de l'ID d'instance
- Le service Instance ID émet un
InstanceIDlorsque votre application est mise en ligne. L'InstanceIDest soutenu par 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 Instance ID. - Votre application peut demander un nouvel
InstanceIDchaque fois que nécessaire à l'aide de la méthodegetID(). Votre application peut le stocker sur votre serveur si vous en possédez un qui la prend en charge. - Votre application peut demander des jetons au service Instance ID si nécessaire à l'aide de la méthode
getToken(). Comme pourInstanceID, votre application peut également stocker des jetons sur son propre serveur. Tous les jetons émis pour votre application appartiennent à l'InstanceIDde l'application. - Les jetons sont uniques et sécurisés, mais votre application ou le service Instance ID peut avoir besoin de les actualiser 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 d'actualisation des jetons du service Instance ID.
Implémentation client
L'ID d'instance s'exécute sur Android et iOS. Chacun nécessite que vous incluiez 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 avez l'intention de générer des jetons.
Pour obtenir des instructions détaillées, consultez les guides d'implémentation pour Android et iOS.