El ID de instancia proporciona un ID único por instancia de tus apps. Puedes implementar el ID de instancia en apps para Android y iOS, así como para apps o 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. Otras funciones 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.
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 de modo que la verificación se necesite solo una vez. En caso de un problema de seguridad, la app puede borrar tokens o el ID de instancia en sí y generar otros nuevos. Además, el servidor de ID de instancia inicia la actualización de token o ID de instancia si detecta errores o problemas de seguridad.
Confirma que el dispositivo de la app está activo
- El servidor de ID de instancia puede indicarte cuándo se usó por última vez el dispositivo en el que se instaló tu app. Úsala para decidir si quieres conservar los datos de tu app o enviar un mensaje push para volver a atraer a tus usuarios.
Identifique las aplicaciones y haga un seguimiento de ellas
- El ID de instancia 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 único de las instancias de app. Mediante el servicio de Cloud de ID de instancia, el código del servidor puede verificar que un ID de instancia sea auténtico y sea el mismo que la app original que registró con tu servidor. Por 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 sin relación con el anterior.
Ciclo de vida de los ID de instancia
- El servicio de ID de instancia emite un
InstanceID
cuando tu app se conecta. ElInstanceID
está respaldado por un par de claves públicas/privadas con la clave privada almacenada en el dispositivo local y la clave pública registrada con el servicio de ID de instancia. - Tu app puede solicitar un
InstanceID
nuevo cuando sea necesario mediante el métodogetID()
. Tu app puede almacenarla en tu servidor, si tienes una compatible. - Tu app puede solicitar tokens del servicio de ID de instancia según sea necesario con el método
getToken()
y, al igual queInstanceID
, también puede almacenar tokens en tu propio servidor. Todos los tokens emitidos a tu app pertenecen alInstanceID
de la app. - Los tokens son únicos y seguros, pero es posible que tu app o el servicio de ID de instancia necesiten actualizar los tokens en caso de problemas de seguridad o cuando un usuario desinstale y reinstale tu app durante el restablecimiento del dispositivo. Tu app debe implementar un objeto de escucha para responder las solicitudes de actualización de token del servicio de 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 deseas generar tokens.
Para obtener instrucciones detalladas, consulta las guías de implementación para iOS y Android.