sql >> Base de Datos >  >> RDS >> Mysql

¿Pueden dos dispositivos diferentes tener el mismo ID de registro de GCM?

(de Resumen de GCM )

Dos dispositivos diferentes siempre tendrían una identificación de registro diferente. Incluso diferentes aplicaciones en el mismo dispositivo tienen diferentes identificaciones de registro.

Desde el punto de vista funcional, es seguro mantener una restricción UNIQUE_KEY en el ID de registro, pero dado que el ID de registro puede ser largo (hasta 4096 bytes, aunque en la práctica suele ser mucho más corto), algunas bases de datos pueden impedirle definir un índice o una restricción en dicho ID. una gran columna Es posible que desee utilizar una función hash unidireccional que asignaría el Id. de registro a un valor más pequeño, almacenaría ese valor en una columna más pequeña y tendría la restricción/índice en esa columna.

Cuando obtienes NotRegistered error, debería eliminar ese ID de registro de su base de datos (o al menos marcarlo con un estado que diga que está inactivo y dejar de enviarle mensajes). Pero si la aplicación se reinstalará en un dispositivo del que se desinstaló anteriormente, la aplicación puede obtener la misma ID de registro cuando se registre nuevamente en GCM, por lo que su servidor debería permitir las ID de registro que en algún momento dieron NotRegistered para volver a estar activo.

Debe actualizar la ID de registro anterior cuando obtenga la ID de registro canónica en la respuesta de Google.