side registro fcm example firebase firebase-notifications

registro - get token firebase android



¿Cómo usar un token de GCM existente dentro de otro proyecto de Firebase? (1)

Digamos que tengo Google Cloud Project (GCP1) con GCM activado con el ID de cliente P1.

Ahora he creado un proyecto independiente F2 de Firebase SIN importarlo a GCP1. También he lanzado F2 a la producción. (Alternativamente, he importado F2 de un proyecto existente de firebase.com en la nueva consola de Firebase).

Utilizo un servidor back-end para enviar notificaciones push. Cuando envío un push a un token de GCM generado a través de GCP1 desde el proyecto F2, falla (naturalmente) debido a una identificación de cliente incorrecta. ¿Hay alternativas para permitir el uso de tokens GCM generados para P1 dentro de F2?


Al enviar mensajes desde su servidor back-end, necesita autenticar la solicitud con la API-KEY asociada con el proyecto (sender-id) utilizada para generar el token GCM / FCM.
Debido a las restricciones de seguridad, aquí no hay ninguna solución para esto.

Para usuarios de GCM existentes, la mejor migración consiste en importar el proyecto anterior a Firebase Console. Esto le permitirá apuntar tanto al cliente antiguo como al nuevo, ya que el sender-id del sender-id no cambiará
Pasos aquí: https://developers.google.com/cloud-messaging/android/android-migrate-fcm

Si esa no es la opción (ya ha creado un nuevo Proyecto de Firebase distinto del Proyecto Google Cloud anterior) tiene dos posibilidades:

  1. Un enfoque más fácil y recomendado: cambie su back-end para almacenar qué cliente originó el token gcm / fcm. Luego use la API-KEY correcta cuando envíe mensajes desde su back-end. (la API-KEY asociada al antiguo proyecto para clientes antiguos, y la nueva API-KEY para nuevos clientes que están usando el nuevo proyecto de Firebase).

  2. Si no puede cambiar su back-end en absoluto: en FCM puede crear un token adicional para el antiguo SenderID, utilizando la API:
    FirebaseInstanceId.getInstance().getToken("old-sender-id", "FCM")
    Debido a que este token está asociado al old-sender-id, su back-end podrá enviar mensajes utilizando API-KEY del proyecto anterior.
    Nota: esto no afecta a la Consola de Firebase, que se basa en la ID del nuevo remitente.
    Esa consola solo podrá orientarse a los nuevos clientes que incluyan el firebase sdk y el archivo asociado google_services.json.