¿Qué es el ID de instancia?

El ID de instancia proporciona un ID único por instancia de tus apps. Puedes implementar el ID de instancia para apps para iOS y Android, además de apps y extensiones de Chrome.

Características clave

Además de proporcionar ID únicos para la autenticación, el ID de instancia puede generar tokens de seguridad a fin de usarlos con otros servicios. Entre otras características, se incluyen las siguientes:

Generar tokens de seguridad

El ID de instancia proporciona una API simple para generar tokens de seguridad que autorizan a terceros a acceder a los recursos administrados del servidor de tu app. Usa estos tokens ahora a fin de autorizar mensajes push para tus apps a través de Google Cloud Messaging.

Verifica la autenticidad de la app

Pasa tokens de ID de instancia a tu servidor y usa el servicio de ID de instancia para verificar el nombre del paquete de la app y comprobar si tiene una firma válida. La verificación de tokens con el ID de instancia de Cloud Service ayuda a identificar apps conocidas. A fin de reducir el costo y las comunicaciones redundantes de ida y vuelta, configura el servidor para que almacene estos tokens a fin de que la verificación se necesite solo una vez. En el caso de un problema de seguridad, la app puede borrar o borrar tokens o ID de instancia, y generar otros nuevos. Además, el servidor de Instance ID inicia la actualización de tokens o ID de instancias si detecta errores o problemas de seguridad.

Confirma que el dispositivo de la app esté activo

El servidor de ID de instancia puede decirte cuándo se usó por última vez el dispositivo en el que se instaló tu app. Úsalo para decidir si deseas conservar los datos de tu app o enviar un mensaje push a fin de volver a interactuar con tus usuarios.

Identifique y haga un seguimiento de las aplicaciones

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

Ciclo de vida del ID de instancia

  1. El servicio de ID de instancia emite un InstanceID cuando tu app se conecta. 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 con el servicio de ID de instancia.
  2. Tu app puede solicitar un InstanceID nuevo siempre que sea necesario mediante el método getID(). Tu app puede almacenarla en tu servidor si tiene una compatible.
  3. Tu app puede solicitar tokens del servicio de ID de instancia según sea necesario con el método getToken() y, al igual que InstanceID, también puede almacenar tokens en tu propio servidor. Todos los tokens emitidos a tu app pertenecen a la InstanceID de la app.
  4. Los tokens son únicos y seguros, pero es posible que tu app o el servicio de ID de instancia deban actualizar los tokens en caso de problemas de seguridad o cuando un usuario desinstale y reinstale tu app durante el restablecimiento. Tu app debe implementar un objeto de escucha para responder a las solicitudes de actualización de tokens del servicio de ID de instancia.

Ciclo de vida del ID de instancia

Implementación del cliente

El ID de instancia se ejecuta en iOS y Android. Cada una 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 quieres generar tokens.

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