L'API Instance ID est obsolète. Si vous devez accéder à des identifiants uniques d'installation d'applications, utilisez l'API Firebase installations (Installations Firebase). Consultez également la section Installations Firebase et ID d'instance.
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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
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.
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.
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.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/05 (UTC).
[null,null,["Dernière mise à jour le 2025/09/05 (UTC)."],[[["\u003cp\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e The Instance ID API is deprecated; for unique app installation identifiers, use the Firebase installations API instead.\u003c/p\u003e\n"],["\u003cp\u003eInstance ID offers key features like generating security tokens, verifying app authenticity, confirming app device activity, and identifying/tracking apps.\u003c/p\u003e\n"],["\u003cp\u003eInstance ID has a lifecycle involving issuing an ID, requesting fresh IDs and tokens, storing them on the server (optional), and handling token refreshes.\u003c/p\u003e\n"],["\u003cp\u003eClient implementation requires including the appropriate library and potentially a Project ID for token generation.\u003c/p\u003e\n"],["\u003cp\u003eFor detailed instructions, refer to the Android and iOS implementation guides.\u003c/p\u003e\n"]]],[],null,["# What is Instance ID?\n\n| **Warning:** The Instance ID API is deprecated. If you need to access unique app installation identifiers, use the [Firebase installations](//firebase.google.com/docs/projects/manage-installations) API. See also [Firebase installations and Instance ID](//firebase.google.com/docs/projects/manage-installations#fid-iid). The [server-side topic management API](https://developers.google.com/instance-id/reference/server#create_relationship_maps_for_app_instances) is still available.\n\nKey features\n------------\n\nIn addition to providing unique IDs for authentication, Instance ID\ncan generate security tokens for use with other services. Other features\ninclude:\n\n### Generate Security Tokens\n\n: Instance ID provides a simple API to generate security tokens that\n authorize third parties to access your app's server side managed resources.\n\n### Verify app authenticity\n\n: Pass Instance ID tokens to your server and use the Instance ID\n service to verify the app package name and check if it has a valid signature.\n Verifying tokens with the Instance ID Cloud Service helps identify known\n apps. To reduce cost and redundant round trip communications, configure your\n server to store these tokens so the check is needed only once.\n In the event of a security concern, your app can delete tokens, or\n Instance ID itself, and generate new ones. In addition, the\n Instance ID server initiates token or Instance ID refresh if it\n detects bugs or security issues.\n\n### Confirm app device is active\n\n: The Instance ID server can tell you when the device on which your app\n is installed was last used. Use this to decide whether to keep data from your\n app or send a push message to reengage with your users.\n\n### Identify and track apps\n\n: Instance ID is unique across all app instances across the world, so\n your database can use it to uniquely identify and track app instances. Your\n server-side code can verify, via the Instance ID cloud service, that an\n Instance ID is genuine and is the same ID as the original app that\n registered with your server. For privacy, your app can delete an Instance ID so\n it is no longer associated with any history in the database. The next time your\n app calls Instance ID it will get an entirely new Instance ID with no\n relationship to its previous one.\n\nInstance ID lifecycle\n---------------------\n\n1. The Instance ID service issues an `InstanceID` when your app comes online. The `InstanceID` is backed by a public/private key pair with the private key stored on the local device and the public key registered with the Instance ID service.\n2. Your app can request a fresh `InstanceID` whenever needed using the `getID()` method. Your app can store it on your server if you have one that supports your app.\n3. Your app can request tokens from the Instance ID service as needed using the `getToken()` method, and like `InstanceID`, your app can also store tokens on your own server. All tokens issued to your app belong to the app's `InstanceID`.\n4. Tokens are unique and secure, but your app or the Instance ID service may need to refresh tokens in the event of a security issue or when a user uninstalls and reinstalls your app during device restoration. Your app must implement a listener to respond to token refresh requests from the Instance ID service.\n\nClient implementation\n---------------------\n\nInstance ID runs on both Android and iOS. Each requires you to include\nthe appropriate library in your client app. Android requires\n[Google Play Services](https://developer.android.com/google/play-services/index.html). You will need a Project ID generated\nby the [](/console/help/new)[Google Developers Console](https://console.developers.google.com/project) if you intend\nto generate tokens.\n\nFor detailed instructions, see the [Android](/instance-id/guides/android-implementation)\nand [iOS](/instance-id/guides/ios-implementation) implementation guides."]]