Administra las instalaciones de Firebase

El servicio de instalaciones de Firebase (FIS) proporciona un ID de instalación de Firebase (FID) para cada instancia que se instala de una app de Firebase. Los servicios de Firebase, como FCM o Remote Config, usan de forma interna este identificador único sin que los desarrolladores tengan que interactuar directamente con la API de FIS.

Sin embargo, hay algunos casos en los que los desarrolladores de apps podrían querer llamar de forma directa a la API de FIS. Principalmente en acciones como borrar una instancia de aplicación y todos sus datos y estadísticas relacionados con el propósito de hacer una “limpieza de datos”.

Borra una instalación de Firebase y sus datos asociados

Por lo general, los datos asociados con una instalación de Firebase no identifican de forma personal. Sin embargo, puede ser útil (y en algunos casos es un requisito legal) darles a los usuarios la opción de administrar y borrar estos datos. Los siguientes procedimientos de eliminación borran todos los datos registrados en una instalación de Firebase en cumplimiento del GDPR.

Los ID de instalación de Firebase son diferentes para la instalación de cada aplicación. Distintas aplicaciones en un mismo dispositivo tienen diferentes ID de instalación de Firebase. Estos ID identifican las instalaciones de la app y sus datos asociados, y permiten la eliminación de los datos asociados con las instalaciones de apps individuales en todos los servicios de Firebase.

Cuando borras un ID de instalación, los datos asociados se quitan de los sistemas activos y de copia de seguridad de todos los servicios de Firebase en un plazo de 180 días.

Si no inhabilitas todos los servicios generadores de FID en tu app, FIS creará un ID nuevo después de unos días. Firebase considera que el ID recién creado es una instalación nueva de Firebase y no lo asocia de ninguna manera con el ID o los datos anteriores.

Borra un FID mediante una llamada a la API del cliente

Para borrar los FID que generan los servicios de Firebase, llama al método apropiado desde el SDK de las instalaciones de Firebase:

Swift

func delete(completion: @escaping (Error?) -> Void)

Objective-C

- (void)deleteWithCompletion:(nonnull void (^)(NSError *_Nullable))completion;

Android

Task.await(FirebaseInstallations.getInstance().delete());

JavaScript

firebase.installations.delete().then((void)

Borra un FID mediante una llamada a la API del servidor

Para borrar un FID con una llamada a la API del servidor, agrega el SDK de Firebase Admin a tu servidor, si aún no lo has hecho.

Una vez que esté listo lo anterior, borra los FID mediante una llamada a la función de eliminación en el lenguaje de tu preferencia (ten en cuenta que aunque estos métodos reflejan la denominación del ID de instancia, en realidad borran el FID cuando se les llama con cualquier SDK de Firebase actual).

Node.js

// An FID sent from a client service SDK
const idToDelete = 'eyJhbGciOiJFUzI1N_iIs5';

admin.instanceId().deleteInstanceId(idToDelete);

Java

// An FID sent from a client service SDK
String idToDelete = "eyJhbGciOiJFUzI1N_iIs5";

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

Python

  from firebase_admin import instance_id

  # An FID sent from a client service SDK
  id_to_delete = 'eyJhbGciOiJFUzI1N_iIs5'

  instance_id.delete_instance_id(id_to_delete)

Go

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

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

Cuando borras un ID de instalación de Firebase con una llamada a la API del servidor, los servicios de Firebase borran los datos asociados, dejan de aceptar datos nuevos de ese ID durante uno o dos días y, luego, notifican a la app cliente que se borró el ID. Hasta que Firebase notifique a la app cliente, es posible que algunos de los servicios de la app se orienten al ID. Por ejemplo, una instancia de app puede seguir recibiendo notificaciones de FCM durante algunas horas.

Si deseas borrar el ID de instalación actual de Firebase y usar los servicios de Firebase de inmediato con un ID nuevo que no tenga ninguna relación, usa la API del cliente para controlar esta acción.

Instalaciones de Firebase e ID de instancia

FIS tiene retrocompatibilidad con el identificador heredado del ID de la instancia de Firebase para el uso interno y la limpieza de datos. Borrar un IID es un método alternativo de limpiar los datos con estos SDK de Firebase:

  • iOS 6.14.0 y versiones anteriores
  • SDK de Android anteriores al 27 de febrero de 2020

Si deseas limpiar los datos con los SDK de iOS y Android más recientes, se recomienda que actualices tu código para usar FIS, pero no es obligatorio que lo hagas.