Saltar al contenido

Las notificaciones push no funcionan en Firebase 4.0

Solución:

Firebase Cloud Messaging es bastante complejo de configurar correctamente en iOS, porque debe asegurarse de que su configuración de APN esté funcionando y luego agregar FCM encima de eso.

Configuración de APN

Las claves de autenticación de APN también son muy buenas para Apple porque no caducan, funcionan tanto en entornos sandbox como en entornos de producción, y la misma clave (como .p8 archivo) se puede utilizar para enviar notificaciones push a todos aplicaciones en esa cuenta de desarrollador de Apple.

También presenta una nueva área para posibles fallas: errores tipográficos. Puede escribir un ID de paquete aleatorio, y siempre que el “equipo” correcto esté configurado en Xcode, su aplicación obtendrá un token de dispositivo APNs.

Enviar una notificación a ese token de dispositivo a través de APN (utilicé este script para enviar notificaciones de prueba a través de HTTP / 2 + Auth Keys) producirá un DeviceTokenNotForTopic error, por lo que debería ayudarlo a descubrir qué salió mal.

Lista de Verificación

  • Asegúrese de que su ID de paquete de aplicaciones coincida con el ID de paquete al que está enviando
  • Asegúrese de tener un archivo de derechos, con al menos un aps-environment llave fijada a development (esto se actualiza automáticamente para usted en las versiones de lanzamiento, por Xcode)
  • Si usa la configuración “automática” (es decir, swizzling) en otros SDK como Firebase, asegúrese de obtener un token de APN en application:didRegisterForRemoteNotificationsWithDeviceToken:. Eso al menos confirma que la configuración de su APN está bien (pero aún así, es posible que tenga un error tipográfico)

Configuración de FCM

Asegúrese de que el GoogleService-Info.plist El archivo que estás usando es para la misma aplicación que el BUNDLE_ID clave en la plist. He visto a los desarrolladores pensar que debido a que las claves de APN deberían funcionar bien en todas sus aplicaciones, lo mismo GoogleService-Info.plist está bien en todas las aplicaciones, pero ese no es el caso.

Pruebas

También recomiendo enviarse a sí mismo notificaciones de prueba utilizando la API HTTP de FCM desde Terminal, para ayudar a depurar el problema. A diferencia de la Consola de notificaciones de Firebase, le dará cualquier error sin formato que encuentre. He aquí un ejemplo:

curl -X "POST" "https://fcm.googleapis.com/fcm/send" 
     -H "Authorization: key=SERVER_KEY" 
     -H "Content-Type: application/json" 
     -d $'{
  "notification": {
    "body": "Testing with direct FCM API",
    "title": "Test Message",
    "badge": "0",
    "sound": "default"
  },
  "registration_ids": [
    "FCM_TOKEN"
  ]
}'

Complete su SERVER_KEY con el valor en su Consola de Firebase> Configuración del proyecto> Mensajería en la nube> Clave del servidor. Reemplazar FCM_TOKEN con su token FCM.

Utilizo Paw para enviar notificaciones de prueba a mis aplicaciones cuando trabajo en el SDK de FCM.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *