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, 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 obtient 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 InstanceID actualisé 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 compatible.
Votre application peut demander des jetons au service d'ID d'instance si nécessaire à l'aide de la méthode getToken(). Comme 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 peut devoir 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.
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/08/31 (UTC).
[null,null,["Dernière mise à jour le 2025/08/31 (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."]]