Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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 Instance ID oferece uma API simples para gerar tokens de segurança que
autoriza terceiros a acessar os recursos gerenciados do servidor do 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 conferir se ele tem uma assinatura válida.
A verificação de tokens com o serviço de nuvem do Instance ID 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 para que a verificação seja necessária apenas uma vez.
Em caso de problemas de segurança, o app pode excluir tokens ou
o ID de instância e gerar novos. Além disso, o
servidor de 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 que o dispositivo do app está ativo
O servidor de ID de instância pode informar quando o dispositivo em que o app
está instalado foi usado pela última vez. Use isso para decidir se vai manter os dados do
app ou enviar uma mensagem push para interagir novamente com os usuários.
Identificar e rastrear apps
O ID de instância é exclusivo em todas as instâncias de app do mundo. Assim, seu banco de dados pode usá-lo para identificar e rastrear instâncias de app de maneira exclusiva. O 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 se é o mesmo ID do app original
registrado no servidor. Para fins 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 o
app chamar o ID de 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 de ID de instância emite um InstanceID quando o 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 de instância.
Seu app pode solicitar uma nova InstanceID sempre que necessário usando o método
getID(). O app pode armazená-lo no servidor, se você tiver um que ofereça suporte
a ele.
O app pode solicitar tokens do serviço de ID de instância conforme necessário
usando o método getToken(). Além disso, assim como InstanceID, o app também pode armazenar
tokens no seu próprio servidor. Todos os tokens emitidos para o app pertencem ao
InstanceID dele.
Os tokens são exclusivos e seguros, mas seu app ou o serviço de ID de instância
pode precisar atualizar os tokens em caso de problemas 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 a solicitações de atualização de token do
serviço de ID de 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 app cliente. O Android exige o
Google Play Services. Você vai precisar de um ID de projeto gerado
pelo Console do Google Developers se quiser
gerar tokens.
Para instruções detalhadas, consulte os guias de implementação do Android
e do iOS.
[null,null,["Última atualização 2025-08-31 UTC."],[[["\u003cp\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e The Instance ID API is deprecated; for unique app installation identifiers, use the Firebase installations API instead.\u003c/p\u003e\n"],["\u003cp\u003eInstance ID offers key features like generating security tokens, verifying app authenticity, confirming app device activity, and identifying/tracking apps.\u003c/p\u003e\n"],["\u003cp\u003eInstance ID has a lifecycle involving issuing an ID, requesting fresh IDs and tokens, storing them on the server (optional), and handling token refreshes.\u003c/p\u003e\n"],["\u003cp\u003eClient implementation requires including the appropriate library and potentially a Project ID for token generation.\u003c/p\u003e\n"],["\u003cp\u003eFor detailed instructions, refer to the Android and iOS implementation guides.\u003c/p\u003e\n"]]],[],null,["# What is Instance ID?\n\n| **Warning:** The Instance ID API is deprecated. If you need to access unique app installation identifiers, use the [Firebase installations](//firebase.google.com/docs/projects/manage-installations) API. See also [Firebase installations and Instance ID](//firebase.google.com/docs/projects/manage-installations#fid-iid). The [server-side topic management API](https://developers.google.com/instance-id/reference/server#create_relationship_maps_for_app_instances) is still available.\n\nKey features\n------------\n\nIn addition to providing unique IDs for authentication, Instance ID\ncan generate security tokens for use with other services. Other features\ninclude:\n\n### Generate Security Tokens\n\n: Instance ID provides a simple API to generate security tokens that\n authorize third parties to access your app's server side managed resources.\n\n### Verify app authenticity\n\n: Pass Instance ID tokens to your server and use the Instance ID\n service to verify the app package name and check if it has a valid signature.\n Verifying tokens with the Instance ID Cloud Service helps identify known\n apps. To reduce cost and redundant round trip communications, configure your\n server to store these tokens so the check is needed only once.\n In the event of a security concern, your app can delete tokens, or\n Instance ID itself, and generate new ones. In addition, the\n Instance ID server initiates token or Instance ID refresh if it\n detects bugs or security issues.\n\n### Confirm app device is active\n\n: The Instance ID server can tell you when the device on which your app\n is installed was last used. Use this to decide whether to keep data from your\n app or send a push message to reengage with your users.\n\n### Identify and track apps\n\n: Instance ID is unique across all app instances across the world, so\n your database can use it to uniquely identify and track app instances. Your\n server-side code can verify, via the Instance ID cloud service, that an\n Instance ID is genuine and is the same ID as the original app that\n registered with your server. For privacy, your app can delete an Instance ID so\n it is no longer associated with any history in the database. The next time your\n app calls Instance ID it will get an entirely new Instance ID with no\n relationship to its previous one.\n\nInstance ID lifecycle\n---------------------\n\n1. The Instance ID service issues an `InstanceID` when your app comes online. The `InstanceID` is backed by a public/private key pair with the private key stored on the local device and the public key registered with the Instance ID service.\n2. Your app can request a fresh `InstanceID` whenever needed using the `getID()` method. Your app can store it on your server if you have one that supports your app.\n3. Your app can request tokens from the Instance ID service as needed using the `getToken()` method, and like `InstanceID`, your app can also store tokens on your own server. All tokens issued to your app belong to the app's `InstanceID`.\n4. Tokens are unique and secure, but your app or the Instance ID service may need to refresh tokens in the event of a security issue or when a user uninstalls and reinstalls your app during device restoration. Your app must implement a listener to respond to token refresh requests from the Instance ID service.\n\nClient implementation\n---------------------\n\nInstance ID runs on both Android and iOS. Each requires you to include\nthe appropriate library in your client app. Android requires\n[Google Play Services](https://developer.android.com/google/play-services/index.html). You will need a Project ID generated\nby the [](/console/help/new)[Google Developers Console](https://console.developers.google.com/project) if you intend\nto generate tokens.\n\nFor detailed instructions, see the [Android](/instance-id/guides/android-implementation)\nand [iOS](/instance-id/guides/ios-implementation) implementation guides."]]