O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Gerenciar dados de ID da instância

Os IDs de instância identificam instalações individuais do seu aplicativo. Como cada ID de instância é exclusivo para um aplicativo e dispositivo específico, eles fornecem aos serviços do Firebase uma maneira de fazer referência a instâncias de aplicativos específicas. Por exemplo, o Cloud Messaging usa IDs de instância para determinar para quais dispositivos enviar mensagens.

Vários serviços do Firebase usam IDs de instância para potencializar seus recursos:

  • Análise
  • Crashlytics
  • Mensagens na nuvem
  • Configuração remota

Gerenciar dados de aplicativos associados a IDs de instância

Os serviços que usam IDs de instância para identificar instalações também os usam como chave para associar dados relevantes a esse dispositivo. Por exemplo, o Crashlytics usa IDs de instância para registrar falhas que ocorrem no dispositivo, o Configuração remota os usa para buscar configurações e o Analytics usa IDs de instância para rastrear públicos específicos.

Os dados associados aos IDs de instância geralmente não são de identificação pessoal, mas ainda pode ser útil dar aos usuários a opção de gerenciá-los. Para isso, o Firebase oferece duas maneiras de gerenciar a coleta de dados relacionada ao Instance-ID:

  • Excluir IDs de instância. Você pode excluir um ID de instância com uma chamada de API do lado do servidor ou do cliente. A exclusão de um ID de instância exclui o próprio ID e todos os dados associados a ele.
  • Desative os serviços que geram IDs. A maioria dos serviços do Firebase que usam IDs de instância gera automaticamente um novo ID se não houver um no dispositivo quando forem iniciados. Para garantir que seu aplicativo não crie IDs de instância indesejados, desative a inicialização automática desses serviços.

Excluir um ID de instância

A exclusão de um ID de instância também exclui os dados associados a esse ID em qualquer um dos serviços do Firebase listados acima. Isso torna a exclusão de ID uma ferramenta útil para limpar os dados do usuário, mas também vem com uma ressalva: se você estiver usando vários serviços que dependem de IDs de instância, a exclusão de um ID limpa os dados de todos eles.

O serviço de ID de instância cria um novo ID em alguns dias, a menos que você desative todos os serviços de geração de ID de instância em seu aplicativo. O Firebase considera o ID recém-criado como uma instância de aplicativo totalmente nova e não o associa de forma alguma ao ID anterior.

Excluir um ID com uma chamada de API do cliente

Para excluir IDs gerados pelos serviços do Firebase, chame o método apropriado da API Firebase Instance ID:

Rápido

InstanceID.instanceID().deleteID { error in
  if let error = error {
    print("Error deleting instance ID: \(error)")
  }
}

Objetivo-C

[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
  if error != nil {
    NSLog(@"Error deleting instance ID: %@", error);
  }
}];

Android

FirebaseInstanceId.deleteInstanceId();

Excluir um ID com uma chamada de API do servidor

Para excluir um ID de instância com chamadas de API do servidor, adicione o SDK Admin do Firebase ao seu servidor , caso ainda não tenha feito isso.

Depois de adicionado, exclua os IDs por meio de uma chamada para a função de exclusão do ID da instância no idioma de sua escolha:

Node.js

// An Instance ID sent from a client service SDK
const idToDelete = 'INSTANCE_ID';

admin.instanceId().deleteInstanceId(idToDelete);

Java

// An Instance ID sent from a client service SDK
String idToDelete = "INSTANCE_ID";

FirebaseInstanceId.getInstance().deleteInstanceIdAsync(idToDelete).get();

Pitão

  from firebase_admin import instance_id

  # An Instance ID sent from a client service SDK
  id_to_delete = 'INSTANCE_ID'

  instance_id.delete_instance_id(id_to_delete)

Ir

client, err := app.InstanceId(ctx)
if err != nil {
  log.Fatalln("error initializing client", err)
}

iidToDelete := "INSTANCE_ID"
if err := client.DeleteInstanceId(ctx, iidToDelete); err != nil {
  log.Fatalln("error deleting iid", err)
}

Quando você exclui um código de instância com uma chamada de API do servidor, os serviços do Firebase excluem os dados associados, param de aceitar novos dados para esse código e, em alguns dias, notificam o aplicativo cliente de que o código foi excluído. Até que o Firebase notifique o aplicativo cliente, alguns dos serviços do aplicativo podem apresentar funcionalidade reduzida.

Se você quiser excluir o ID da instância atual e usar imediatamente os serviços do Firebase com um novo ID independente, use uma das APIs de cliente acima para lidar com a exclusão.

Desativar geração de ID de instância

Os serviços que usam IDs de instância geram automaticamente um novo ID quando são inicializados em um aplicativo que não tem um no momento. Normalmente, esses serviços também são inicializados automaticamente quando o aplicativo é iniciado. Para desabilitar a geração de ID de instância, você precisa desabilitar a inicialização automática para serviços que os utilizam.

Uma abordagem comum é dar aos usuários a opção de aceitar a coleta de dados: desabilite a inicialização automática para os serviços que usam IDs de instância, implemente uma caixa de diálogo que solicite o consentimento dos usuários para a coleta de dados e reative os serviços manualmente uma vez você tem consentimento.

Leia os guias abaixo para descobrir como desabilitar a inicialização automática para serviços que usam Instance-ID e inicializá-los manualmente: