Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Administrar datos de ID de instancia

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Los ID de instancia identifican las instalaciones individuales de su aplicación. Dado que cada ID de instancia es único para una aplicación y un dispositivo en particular, brindan a los servicios de Firebase una forma de referirse a instancias de aplicaciones específicas. Por ejemplo, Cloud Messaging usa ID de instancia para determinar a qué dispositivos enviar mensajes.

Varios servicios de Firebase usan ID de instancia para potenciar sus funciones:

  • Analítica
  • Crashlytics
  • Mensajería en la nube
  • Configuración remota

Administre los datos de la aplicación asociados con los ID de instancia

Los servicios que usan ID de instancia para identificar instalaciones también los usan como clave para asociar datos relevantes con ese dispositivo. Por ejemplo, Crashlytics usa ID de instancia para registrar bloqueos que ocurren en el dispositivo, Remote Config los usa para obtener configuraciones y Analytics usa ID de instancia para rastrear audiencias particulares.

Los datos asociados con los ID de instancia generalmente no son de identificación personal, pero aun así puede ser útil darles a los usuarios una opción para administrarlos. Con ese fin, Firebase ofrece dos formas de administrar la recopilación de datos relacionados con ID de instancia:

  • Eliminar ID de instancia. Puede eliminar una ID de instancia con una llamada a la API del lado del servidor o del cliente. Al eliminar una ID de instancia, se elimina la propia ID y todos los datos asociados con ella.
  • Deshabilite los servicios que generan ID. La mayoría de los servicios de Firebase que usan ID de instancia generan automáticamente un ID nuevo si no hay uno en el dispositivo cuando se inician. Para asegurarse de que su aplicación no cree ID de instancia no deseados, deshabilite la inicialización automática para esos servicios.

Eliminar una ID de instancia

Eliminar una ID de instancia también elimina los datos asociados con esa ID en cualquiera de los servicios de Firebase enumerados anteriormente. Eso hace que la eliminación de ID sea una herramienta útil para borrar los datos del usuario, pero también viene con una advertencia: si está utilizando varios servicios que dependen de ID de instancia, al eliminar una ID se borran los datos de todos ellos.

El servicio de ID de instancia crea una nueva ID en unos días, a menos que deshabilite todos los servicios de generación de ID de instancia en su aplicación. Firebase considera que la ID recién creada es una instancia de aplicación completamente nueva y no la asocia con la ID anterior de ninguna manera.

Eliminar una ID con una llamada a la API del cliente

Para eliminar los ID generados por los servicios de Firebase, llama al método adecuado desde la API de ID de instancia de Firebase:

Rápido

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

C objetivo

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

Androide

FirebaseInstanceId.deleteInstanceId();

Eliminar una ID con una llamada a la API del servidor

Para eliminar un ID de instancia con llamadas a la API del servidor, agregue el SDK de administrador de Firebase a su servidor , si aún no lo ha hecho.

Una vez que se haya agregado, elimine los ID mediante una llamada a la función de eliminación de ID de instancia en el idioma de su elección:

Nodo.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ón

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

Cuando elimina un ID de instancia con una llamada a la API del servidor, los servicios de Firebase eliminan los datos asociados, dejan de aceptar datos nuevos para ese ID y, en unos días, notifican a la aplicación cliente que se eliminó el ID. Hasta que Firebase notifique a la aplicación cliente, es posible que algunos de los servicios de la aplicación experimenten una funcionalidad reducida.

Si desea eliminar el ID de instancia actual y usar inmediatamente los servicios de Firebase con un nuevo ID independiente, use una de las API de cliente anteriores para manejar la eliminación.

Deshabilitar la generación de ID de instancia

Los servicios que usan ID de instancia generan automáticamente un nuevo ID cuando se inicializan en una aplicación que actualmente no tiene uno. Por lo general, esos servicios también se inicializan automáticamente cuando se inicia su aplicación. Para deshabilitar la generación de ID de instancia, debe deshabilitar la inicialización automática para los servicios que los usan.

Un enfoque común es brindarles a los usuarios la opción de participar en la recopilación de datos: deshabilite la inicialización automática para los servicios que usan ID de instancia, implemente un cuadro de diálogo que solicite a los usuarios su consentimiento para la recopilación de datos y vuelva a habilitar los servicios manualmente una vez. tienes consentimiento.

Lea las guías a continuación para averiguar cómo deshabilitar la inicialización automática para los servicios que usan ID de instancia y, en su lugar, inicialícelos manualmente: