Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Ключевые особенности
Помимо предоставления уникальных идентификаторов для аутентификации, Instance ID может генерировать токены безопасности для использования с другими сервисами. Другие функции включают:
Генерация токенов безопасности
Instance ID предоставляет простой API для генерации токенов безопасности, которые разрешают третьим сторонам доступ к управляемым ресурсам вашего приложения на стороне сервера.
Проверьте подлинность приложения
Передайте токены Instance ID на свой сервер и используйте службу Instance ID для проверки имени пакета приложения и наличия у него действительной подписи. Проверка токенов с помощью облачной службы Instance ID помогает идентифицировать известные приложения. Чтобы сократить расходы и уменьшить количество избыточных передач данных, настройте сервер на хранение этих токенов, чтобы проверка выполнялась только один раз. В случае возникновения проблем с безопасностью ваше приложение может удалить токены или сам Instance ID и сгенерировать новые. Кроме того, сервер Instance ID инициирует обновление токена или Instance ID при обнаружении ошибок или проблем безопасности.
Подтвердите, что приложение устройства активно
Сервер Instance ID может сообщить вам, когда устройство, на котором установлено ваше приложение, использовалось в последний раз. Используйте эту информацию, чтобы решить, сохранять ли данные из приложения или отправлять push-уведомления для повторного взаимодействия с пользователями.
Идентифицировать и отслеживать приложения
Идентификатор экземпляра уникален для всех экземпляров приложения по всему миру, поэтому ваша база данных может использовать его для уникальной идентификации и отслеживания экземпляров приложения. Ваш серверный код может проверить с помощью облачного сервиса Instance ID, что идентификатор экземпляра является подлинным и совпадает с идентификатором исходного приложения, зарегистрированного на вашем сервере. В целях конфиденциальности ваше приложение может удалить идентификатор экземпляра, чтобы он больше не был связан с историей в базе данных. При следующем обращении к Instance ID приложение получит совершенно новый идентификатор экземпляра, не связанный с предыдущим.
Жизненный цикл идентификатора экземпляра
Служба Instance ID выдаёт InstanceID при подключении вашего приложения к сети. InstanceID подкрепляется парой открытого и закрытого ключей: закрытый ключ хранится на локальном устройстве, а открытый ключ зарегистрирован в службе Instance ID.
Ваше приложение может запросить новый InstanceID в любое время с помощью метода getID() . Приложение может сохранить его на сервере, если он поддерживает ваше приложение.
Ваше приложение может запрашивать токены у службы Instance ID по мере необходимости с помощью метода getToken() . Как и InstanceID , ваше приложение может хранить токены на вашем сервере. Все токены, выданные вашему приложению, принадлежат InstanceID этого приложения.
Токены уникальны и безопасны, но вашему приложению или службе Instance ID может потребоваться обновить токены в случае возникновения проблем безопасности или когда пользователь удаляет и переустанавливает ваше приложение во время восстановления устройства. Ваше приложение должно реализовать прослушиватель для ответа на запросы на обновление токенов от службы Instance ID.
Реализация клиента
Instance ID работает как на Android, так и на iOS. В обоих случаях требуется включить соответствующую библиотеку в клиентское приложение. Для Android требуются сервисы Google Play . Для генерации токенов вам понадобится Project ID, сгенерированный Google Developers Console .
Подробные инструкции см. в руководствах по внедрению для Android и iOS .
[null,null,["Последнее обновление: 2025-09-03 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."]]