O que é o ID da instância?

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 oferece uma API simples para gerar tokens de segurança que autorizam terceiros a acessar os recursos gerenciados do lado do servidor do seu app.

Verificar a autenticidade do app

Transmita tokens de ID da instância para seu servidor e use o serviço de ID da 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 serviço de nuvem do ID da instância ajuda a identificar apps conhecidos. Para reduzir o custo e as comunicações redundantes de ida e volta, configure seu servidor para armazenar esses tokens. Assim, a verificação será necessária apenas uma vez. Em caso de problemas de segurança, seu app pode excluir tokens ou o próprio ID da instância e gerar novos. 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.

Confirmar se o dispositivo do app está ativo

O servidor de 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 você vai manter os dados do seu app ou enviar uma mensagem push para retomar o engajamento dos usuários.

Identificar e rastrear apps

O
ID da instância é exclusivo em todas as instâncias de app do mundo. Portanto, seu banco de dados pode usá-lo para identificar e rastrear instâncias de app de maneira exclusiva. Seu código do lado do servidor pode verificar, pelo serviço de nuvem do ID da instância, se um ID da instância é genuíno e é o mesmo ID do app original que foi registrado no seu servidor. Para proteger a privacidade, seu app pode excluir um ID da 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 vai receber um ID totalmente novo, sem relação com o anterior.

Ciclo de vida do ID da instância

  1. O serviço Instance ID emite um InstanceID quando seu app fica on-line. O InstanceID é apoiado por 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.
  2. Seu app pode solicitar um InstanceID atualizado sempre que necessário usando o método getID(). Seu app pode armazenar o token em um servidor, caso você tenha um que seja compatível com o app.
  3. Seu app pode solicitar tokens do serviço ID da instância conforme necessário usando o método getToken(). Assim como o InstanceID, seu app também pode armazenar tokens no próprio servidor. Todos os tokens emitidos para seu app pertencem ao InstanceID dele.
  4. Os tokens são exclusivos e seguros, mas seu app ou o serviço Instance ID pode precisar atualizar os tokens em caso de um problema de segurança ou quando um usuário desinstala e reinstala 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 exige que você inclua a biblioteca apropriada no app cliente. O Android exige Google Play Services. Você vai precisar de um ID do projeto gerado pelo Google Developers Console se quiser gerar tokens.

Para instruções detalhadas, consulte os guias de implementação para Android e iOS.