O ID da instância fornece um ID exclusivo por instância dos seus apps. Você pode implementar o ID da instância para apps Android e iOS, bem como apps/extensões do Chrome.
Principais recursos
Além de fornecer IDs exclusivos para autenticação, o ID da 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 servidor do app. Use esses tokens agora para autorizar as mensagens push dos seus apps pelo Google Cloud Messaging.
Verificar a autenticidade do app
- Transmita os tokens de ID de instância ao seu servidor e use o serviço de ID da instância para verificar o nome do pacote do app e conferir se ele tem uma assinatura válida. A verificação de tokens com o serviço da nuvem do ID da instância ajuda a identificar apps conhecidos. Para reduzir custos e comunicações de ida e volta redundantes, configure seu servidor para armazenar esses tokens para que a verificação seja necessária apenas uma vez. Em caso de um problema de segurança, seu app pode "deleteTokens" ou o próprio ID da instância e gerar novos. Além disso, o servidor de ID da instância iniciará a atualização do token ou do ID da instância se detectar bugs ou problemas de segurança.
Confirmar se o dispositivo do app está ativo
- O servidor do ID da instância pode informar quando o dispositivo em que o aplicativo está instalado foi usado pela última vez. Use esse recurso para decidir se quer manter os dados do app ou enviar uma mensagem push para reengajar seus usuários.
Identificar e rastrear apps
- O ID da instância é exclusivo em todas as instâncias do app em todo o mundo. Portanto, o 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 ID da instância, se um ID da instância é genuíno e tem o mesmo ID que o app original registrado no servidor. Por questões de privacidade, o app pode excluir um ID de instância para que ele não seja mais associado a nenhum histórico no banco de dados. Na próxima vez que seu app chamar o ID da instância, ele receberá um ID de instância totalmente novo sem relação com o anterior.
Ciclo de vida do ID da instância
- O serviço do ID de instância emite um
InstanceID
quando o app é conectado. OInstanceID
é respaldado por um par de chaves públicas/privadas com a chave privada armazenada no dispositivo local e a chave pública registrada no serviço de ID da instância. - O app pode solicitar uma
InstanceID
nova sempre que necessário usando o métodogetID()
. O 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()
e, comoInstanceID
, o app também pode armazenar tokens no seu próprio servidor. Todos os tokens emitidos para seu app pertencem aoInstanceID
do app. - Os tokens são exclusivos e seguros, mas seu app ou o serviço do 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 app precisa implementar um listener para responder às 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 apropriada no seu app cliente. O Android exige o Google Play Services. Você precisará de um ID de projeto gerado pelo Google Developers Console se pretende gerar tokens.
Veja instruções detalhadas nos guias de implementação para Android e iOS.