¿Qué es un ID de instancia?

Características clave

Además de proporcionar IDs únicos para la autenticación, Instance ID puede generar tokens de seguridad para usarlos con otros servicios. Otras funciones incluyen las siguientes:

Generar tokens de seguridad

Instance ID proporciona una API simple para generar tokens de seguridad que autorizan a terceros a acceder a los recursos administrados del servidor de tu app.

Verificar la autenticidad de la app

Pasa los tokens de Instance ID a tu servidor y usa el servicio de Instance ID para verificar el nombre del paquete de la app y comprobar si tiene una firma válida. Verificar tokens con el servicio en la nube de Instance ID ayuda a identificar apps conocidas. Para reducir los costos y las comunicaciones redundantes de ida y vuelta, configura tu servidor para almacenar estos tokens de modo que la verificación solo sea necesaria una vez. En caso de que haya un problema de seguridad, tu app puede borrar los tokens o el propio Instance ID y generar otros nuevos. Además, el servidor de Instance ID inicia la actualización del token o del Instance ID si detecta errores o problemas de seguridad.

Confirmar que el dispositivo de la app esté activo

El servidor de Instance ID puede informarte cuándo se usó por última vez el dispositivo en el que está instalada tu app. Usa esta información para decidir si deseas conservar los datos de tu app o enviar un mensaje push para volver a interactuar con tus usuarios.

Identificar y hacer un seguimiento de las apps

Instance ID es único en todas las instancias de apps de todo el mundo, por lo que tu base de datos puede usarlo para identificar y hacer un seguimiento de las instancias de apps de forma exclusiva. Tu código del servidor puede verificar, a través del servicio en la nube de Instance ID, que un Instance ID es genuino y es el mismo ID que la app original que se registró en tu servidor. Por motivos de privacidad, tu app puede borrar un Instance ID para que ya no esté asociado con ningún historial en la base de datos. La próxima vez que tu app llame a Instance ID, obtendrá un Instance ID completamente nuevo sin relación con el anterior.

Ciclo de vida de Instance ID

  1. El servicio de Instance ID emite un InstanceID cuando tu app se conecta. El InstanceID está respaldado por un par de claves pública/privada con la clave privada almacenada en el dispositivo local y la clave pública registrada en el servicio de Instance ID.
  2. Tu app puede solicitar un InstanceID nuevo cuando sea necesario con el método getID(). Tu app puede almacenarlo en tu servidor si tienes uno que la admita.
  3. Tu app puede solicitar tokens del servicio de Instance ID según sea necesario con el método getToken(). Al igual que InstanceID, tu app también puede almacenar tokens en tu propio servidor. Todos los tokens emitidos para tu app pertenecen al InstanceID de la app.
  4. Los tokens son únicos y seguros, pero es posible que tu app o el servicio de Instance ID deban actualizarlos en caso de que haya un problema de seguridad o cuando un usuario desinstale y vuelva a instalar tu app durante la restauración del dispositivo. Tu app debe implementar un objeto de escucha para responder a las solicitudes de actualización de tokens del servicio de Instance ID.

Implementación del cliente

Instance ID se ejecuta en iOS y Android. Cada uno requiere que incluyas la biblioteca adecuada en tu app cliente. Android requiere los Servicios de Google Play. Necesitarás un ID de proyecto generado por Google Developers Console si deseas generar tokens.

Para obtener instrucciones detalladas, consulta las guías de implementación de iOS y Android.