O ID da instância fornece um ID exclusivo por instância dos seus apps. É possível implementar o ID da instância para apps Android e iOS, além de apps/extensões do Chrome.
Principais recursos
Além de fornecer IDs exclusivos para autenticação, o ID de instância pode gerar tokens de segurança para uso com outros serviços. Outros recursos incluem:
Gerar tokens de segurança
- O ID da instância fornece uma API simples para gerar tokens de segurança que autorizam terceiros a acessar os recursos gerenciados do lado do servidor do app.
Verificar a autenticidade do app
- Transmita os tokens do ID de instância para o servidor e use o serviço do ID de instância para verificar o nome do pacote do app e se ele tem uma assinatura válida. A verificação de tokens com o ID da instância do serviço do Cloud ajuda a identificar apps conhecidos. Para reduzir custos e comunicações redundantes de ida e volta, configure o servidor para armazenar esses tokens de modo que a verificação seja necessária apenas uma vez. Caso haja um problema de segurança, seu app pode excluir tokens ou o próprio ID da instância e gerar novos tokens. Além disso, o servidor do ID da instância inicia a atualização do token ou do ID da instância se detectar bugs ou problemas de segurança.
Confirme se o dispositivo do app está ativo
- O servidor do ID da instância pode informar quando o dispositivo em que o app está instalado foi usado pela última vez. Use isso para decidir se quer manter os dados do app ou enviar uma mensagem push para engajar novamente os usuários.
Identificar e monitorar apps
- O ID da instância é exclusivo em todas as instâncias de app do mundo. Por isso, seu banco de dados pode usá-lo para identificar e rastrear instâncias de apps de maneira exclusiva. O código do lado do servidor pode verificar, por meio do serviço de nuvem do ID da instância, se um ID de instância é genuíno e é o mesmo ID do app original registrado no servidor. Por questões de privacidade, seu app pode excluir um ID de instância para que ele não fique mais associado a nenhum histórico no banco de dados. Na próxima vez que o app chamar o ID de instância, ele receberá um ID totalmente novo, sem relação com o anterior.
Ciclo de vida do ID da instância
- O serviço de ID de instância emite uma
InstanceID
quando o app fica on-line. OInstanceID
tem como base um par de chaves pública/privada com a chave privada armazenada no dispositivo local e a chave pública registrada no serviço de ID da instância. - Seu app pode solicitar um novo
InstanceID
sempre que necessário usando o métodogetID()
. Seu app poderá armazená-lo no servidor se você tiver um que seja compatível com ele. - Seu app pode solicitar tokens do serviço de ID da instância, conforme necessário,
usando o método
getToken()
. Assim comoInstanceID
, o app também pode armazenar tokens no seu próprio servidor. Todos os tokens emitidos para seu app pertencem aoInstanceID
dele. - Os tokens são exclusivos e seguros, mas seu app ou o serviço de ID da instância pode precisar atualizar os tokens no caso de um problema de segurança ou quando um usuário desinstalar e reinstalar o app durante a restauração do dispositivo. Seu aplicativo precisa implementar um listener para responder a solicitações de atualização de token do serviço de ID da instância.
Implementação do cliente
O ID da instância é executado no Android e no iOS. Cada um deles exige que você inclua a biblioteca adequada no app cliente. O Android exige o Google Play Services. Você precisará de um ID de projeto gerado pelo Google Developers Console se quiser gerar tokens.
Para ver instruções detalhadas, consulte os guias de implementação para Android e iOS.