La API de Firebase no envía notificaciones push cuando usa la API

Estoy migrando de Parse a Firebase y estoy enfrentando un problema con nuestra aplicación ios. La API de Firebase no envía notificaciones automáticas a la aplicación ios. Esto es lo que estoy enviando a https://fcm.googleapis.com/fcm/send

{ "to: "", "priority": "high", "data": { "customId": "", "badge": 1, "sound": "cheering.caf", "alert": "New data is available" } } 

Y el servidor está volviendo exitoso

 { "multicast_id":6917019914327105115, "success":1, "failure":0, "canonical_ids":0, "results":[{"message_id":"0:1468961966677585%f0f84693f9fd7ecd"}] } 

Pero el impulso no se entrega. Si envío el empuje con Firebase Dashboard, los empujes se entregan, incluso si apuntar directamente con el token.

Vi a otro desarrollador quejarse en otra pregunta de Stackoverflow No se pueden enviar notificaciones push usando la API del servidor

Intenté su solución de agregar la “prioridad”: “alto” , no solucionó el problema. Pero me dio una pista: también están usando el certificado dev / sandbox push.

Sospecho que el Dashboard puede usar el certificado de desarrollo ios, pero la API no puede. El problema solo ocurre en el dispositivo ios, ya que la aplicación de Android obtiene los empujones a través de la API.

¿Alguien puede enviar empujones usando la API y el certificado de desarrollo?

Fui contactado por el soporte de Firebase y pude averiguar qué está mal

A mi carga útil push le faltaba un objeto de notificación

 { "to": "", "priority": "high", "notification": { "title": "Your Title", "text": "Your Text" } "data": { "customId": "", "badge": 1, "sound": "cheering.caf", "alert": "New data is available" } } 

Espero que eso ayude a alguien más

El objeto que envíes a https://fcm.googleapis.com/fcm/send con Firebase API debería verse así:

 { "notification":{ "title":"Notification title", //Any value "body":"Notification body", //Any value "sound":"default", //If you want notification sound "click_action":"", //Must be present for Android "icon":"fcm_push_icon" //White icon Android resource }, "data":{ "param1":"value1", //Any data to be retrieved in the notification callback "param2":"value2" }, "to":"/topics/topicExample", //Topic or single device "priority":"high", //If not set, notification won't be delivered on completely closed iOS app "restricted_package_name":"" //Optional. Set for application filtering } 

Por favor, si su problema ha sido resuelto, no olvide marcarlo como tal.