Qu'est-ce que l'ID d'instance ?

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 permettant de 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é d'une application

Transmettez les jetons d'ID d'instance à votre serveur et utilisez le service ID d'instance pour vérifier le nom du package de l'application et voir s'il possède 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 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 les jetons ou l'ID d'instance lui-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 date de la dernière utilisation de l'appareil sur lequel votre application est installée. 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 Instance ID, qu'un Instance ID est authentique et qu'il s'agit du même ID que celui de 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é à un historique dans la base de données. La prochaine fois que votre application appellera l'ID d'instance, elle obtiendra un ID d'instance entièrement nouveau, sans aucun lien avec l'ID précédent.

Cycle de vie de l'ID d'instance

  1. Le service Instance ID émet un InstanceID lorsque votre application se connecte. Le 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 étant enregistrée auprès du service Instance ID.
  2. Votre application peut demander un nouveau InstanceID chaque fois que nécessaire à l'aide de la méthode getID(). Votre application peut le stocker sur votre serveur si vous en avez un qui la prend en charge.
  3. Votre application peut demander des jetons au service Instance ID selon les besoins à l'aide de la méthode getToken(). Comme pour InstanceID, votre application peut également stocker des jetons sur votre propre serveur. Tous les jetons émis pour votre application appartiennent à l'InstanceID de l'application.
  4. Les jetons sont uniques et sécurisés, mais votre application ou le service Instance ID peuvent 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 demandes d'actualisation de jeton du service Instance ID.

Implémentation client

L'ID d'instance s'exécute sur Android et iOS. Chacun d'eux 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 console Google Developers 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.