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 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

Transmitir tokens de ID de instância para seu servidor e usar 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 do Cloud de código de instância ajuda a identificar apps conhecidos. Para reduzir o custo e as comunicações de ida e volta redundantes, configure seu servidor para armazenar esses tokens de modo que a verificação seja necessária apenas uma vez. Caso haja uma preocupação de segurança, o app pode excluir tokens ou o próprio ID da instância e gerar novos. Além disso, o servidor de ID da instância inicia a atualização do token ou 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 essa opção para decidir se você quer manter os dados do app ou enviar uma mensagem push para reengajar os usuários.

Identificar e monitorar aplicativos

O ID da instância é exclusivo em todas as instâncias de apps no mundo. Portanto, 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, que um ID da instância é genuíno e tem o mesmo ID do app original registrado no seu servidor. Por questões de privacidade, seu 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 o app chamar o ID da instância, ele receberá um ID totalmente novo, sem nenhuma relação com o ID anterior.

Ciclo de vida do ID da instância

  1. O serviço de ID da instância emite um InstanceID quando o app fica on-line. O InstanceID tem o suporte de um par de chaves públicas/privadas, com a chave privada armazenada no dispositivo local e a chave pública registrada com o serviço de ID da instância.
  2. Seu app pode solicitar um novo InstanceID sempre que necessário usando o método getID(). Seu app pode armazená-lo no seu servidor se você tiver um compatível.
  3. Seu app pode solicitar tokens do serviço de ID da instância conforme necessário usando o método getToken() e, assim como InstanceID, o app também pode armazenar tokens no seu servidor. Todos os tokens emitidos para seu app pertencem ao InstanceID dele.
  4. Os tokens são exclusivos e seguros, mas seu app ou 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 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 seu app cliente. O Android requer o Google Play Services. Você precisará de um ID de projeto gerado pelo Google Developers Console, se quiser gerar tokens.

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