Что такое идентификатор экземпляра?

Ключевые особенности

Помимо предоставления уникальных идентификаторов для аутентификации, Instance ID может генерировать токены безопасности для использования с другими сервисами. Другие функции включают:

Генерация токенов безопасности

Instance ID предоставляет простой API для генерации токенов безопасности, которые разрешают третьим сторонам доступ к управляемым ресурсам вашего приложения на стороне сервера.

Проверьте подлинность приложения

Передайте токены Instance ID на свой сервер и используйте службу Instance ID для проверки имени пакета приложения и наличия у него действительной подписи. Проверка токенов с помощью облачной службы Instance ID помогает идентифицировать известные приложения. Чтобы сократить расходы и уменьшить количество избыточных передач данных, настройте сервер на хранение этих токенов, чтобы проверка выполнялась только один раз. В случае возникновения проблем с безопасностью ваше приложение может удалить токены или сам Instance ID и сгенерировать новые. Кроме того, сервер Instance ID инициирует обновление токена или Instance ID при обнаружении ошибок или проблем безопасности.

Подтвердите, что приложение устройства активно

Сервер Instance ID может сообщить вам, когда устройство, на котором установлено ваше приложение, использовалось в последний раз. Используйте эту информацию, чтобы решить, сохранять ли данные из приложения или отправлять push-уведомления для повторного взаимодействия с пользователями.

Идентифицировать и отслеживать приложения

Идентификатор экземпляра уникален для всех экземпляров приложения по всему миру, поэтому ваша база данных может использовать его для уникальной идентификации и отслеживания экземпляров приложения. Ваш серверный код может проверить с помощью облачного сервиса Instance ID, что идентификатор экземпляра является подлинным и совпадает с идентификатором исходного приложения, зарегистрированного на вашем сервере. В целях конфиденциальности ваше приложение может удалить идентификатор экземпляра, чтобы он больше не был связан с историей в базе данных. При следующем обращении к Instance ID приложение получит совершенно новый идентификатор экземпляра, не связанный с предыдущим.

Жизненный цикл идентификатора экземпляра

  1. Служба Instance ID выдаёт InstanceID при подключении вашего приложения к сети. InstanceID подкрепляется парой открытого и закрытого ключей: закрытый ключ хранится на локальном устройстве, а открытый ключ зарегистрирован в службе Instance ID.
  2. Ваше приложение может запросить новый InstanceID в любое время с помощью метода getID() . Приложение может сохранить его на сервере, если он поддерживает ваше приложение.
  3. Ваше приложение может запрашивать токены у службы Instance ID по мере необходимости с помощью метода getToken() . Как и InstanceID , ваше приложение может хранить токены на вашем сервере. Все токены, выданные вашему приложению, принадлежат InstanceID этого приложения.
  4. Токены уникальны и безопасны, но вашему приложению или службе Instance ID может потребоваться обновить токены в случае возникновения проблем безопасности или когда пользователь удаляет и переустанавливает ваше приложение во время восстановления устройства. Ваше приложение должно реализовать прослушиватель для ответа на запросы на обновление токенов от службы Instance ID.

Реализация клиента

Instance ID работает как на Android, так и на iOS. В обоих случаях требуется включить соответствующую библиотеку в клиентское приложение. Для Android требуются сервисы Google Play . Для генерации токенов вам понадобится Project ID, сгенерированный Google Developers Console .

Подробные инструкции см. в руководствах по внедрению для Android и iOS .