Notificación de apns silenciosos de Firebase

¿Hay alguna manera de enviar un APNS silencioso usando la base de fuego de Google? Parece que si la aplicación está en segundo plano, siempre mostrará una notificación al usuario.

¿Gracias?

Puede enviar mensajes APNS silenciosos utilizando la API del servidor FCM https://firebase.google.com/docs/cloud-messaging/http-server-ref

En particular, debes usar:

  • El campo de datos :

Este parámetro especifica los pares clave-valor personalizados de la carga del mensaje.

Por ejemplo, con datos: {“puntuación”: “3×1”}:

En iOS, si el mensaje se envía a través de APNS, representa los campos de datos personalizados. Si se envía a través del servidor de conexión FCM, se representaría como un diccionario de valores clave en la aplicación AppDelegate: didReceiveRemoteNotification :.

La clave no debe ser una palabra reservada (“desde” o cualquier palabra que comience por “google” o “gcm”). No utilice ninguna de las palabras definidas en esta tabla (como collapse_key).

Se recomiendan valores en los tipos de cadena. Debe convertir valores en objetos u otros tipos de datos que no sean cadenas (por ejemplo, enteros o booleanos) en una cadena.

  • El campo de contenido disponible :

En iOS, use este campo para representar el contenido disponible en la carga útil de APNS. Cuando se envía una notificación o mensaje y se establece como verdadero, se despierta una aplicación de cliente inactiva. En Android, los mensajes de datos activan la aplicación de forma predeterminada. En Chrome, actualmente no es compatible.

Documentación completa: https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream-http-messages-json

Para una notificación verdaderamente silenciosa (tanto en primer plano como en segundo plano) usando el servidor FCM, use estos campos:

"to" : "[token]", "content_available": true, "priority": "high", "data" : { "key1" : "abc", "key2" : 123 } 

NOTA: Asegúrese de estar utilizando “content_available” NO “contenido disponible” con FCM. Se convierte para APNS y, de lo contrario, no se recibirá correctamente. La diferencia me había hecho tropezar por un tiempo.

Explico este tema con más detalle en mi blog. http://blog.boxstory.com/2017/01/how-to-send-silent-push-notification-in.html

** keypoint es: “content_available: true”

esto es muestra JSON

 { "to" : "", "priority": "normal", "content_available": true, <-- this key is converted to 'content-available:1' "notification" : { "body" : "noti body", "title" : "noti title", "link": "noti link " } } 

Nota: Si se envía la muestra JSON anterior, la notificación será visible para el usuario. Use a continuación Si no desea que el usuario vea la notificación de inserción.

 { "to": "", "priority": "normal", "content_available": true <-- this key is converted to 'content- }