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

Основные характеристики

Помимо предоставления уникальных идентификаторов для аутентификации, 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, оно получит совершенно новый идентификатор экземпляра, не имеющий отношения к предыдущему.

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

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

Внедрение клиента

Instance ID работает как на Android, так и на iOS. Для каждой платформы необходимо включить соответствующую библиотеку в клиентское приложение. Для Android требуется Google Play Services . Если вы планируете генерировать токены, вам потребуется идентификатор проекта, сгенерированный в консоли разработчиков Google .

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