Descripción general
Las notificaciones silenciosas le permiten activar su aplicación y realizar tareas en segundo plano—como sincronizar o actualizar datos—sin mostrar un mensaje visible ni reproducir un sonido. En iOS, estas se llaman notificaciones en segundo plano, y en Android, se conocen como notificaciones de datos. Juntas, a menudo se denominan pushes silenciosos y se comportan de manera diferente a las notificaciones normales y visibles. Esta guía explica cómo configurar y enviar notificaciones silenciosas con OneSignal en plataformas compatibles.Limitaciones
Las notificaciones silenciosas se comportan de manera diferente a los mensajes push normales y tienen varias limitaciones específicas de la plataforma.- Las aplicaciones no pueden recibir pushes silenciosos si:
- iOS: La aplicación ha sido cerrada por el usuario como cuando se desliza desde el selector de aplicaciones. (Consulte soporte de Apple).
- Android: La aplicación se ha forzado a cerrar a través de la configuración del dispositivo o automáticamente por algunos fabricantes cuando se desliza. (Más detalles aquí).
- La entrega no está garantizada:
- Tanto Apple como Google tratan las notificaciones silenciosas como mejor esfuerzo. iOS puede retrasar o eliminar la entrega en modo de bajo consumo, actualización de aplicaciones en segundo plano desactivada o si la aplicación fue cerrada por el usuario. Android puede limitar o agrupar la entrega según las reglas de ahorro de energía de Doze o OEM.
- Debido a esto, las notificaciones silenciosas nunca deben usarse para actualizaciones críticas.
- Solo usuarios suscritos: El SDK de OneSignal solo envía notificaciones de datos a suscripciones suscritas. Para llegar a usuarios no suscritos, siga esta solución alternativa.
- Soporte limitado para SDKs multiplataforma:
- Las notificaciones silenciosas deben manejarse en código nativo (Java/Kotlin para Android, Swift/Obj-C para iOS).
- iOS requiere implementación de
application:didReceiveRemoteNotification:fetchCompletionHandler:. - Android requiere implementación de una Extensión de servicio de notificación.
Enviar notificaciones silenciosas desde OneSignal
Siga estos pasos para enviar una notificación silenciosa desde OneSignal:1
Omitir contenido visible
Elimine cualquier texto o título visible del mensaje. Esto incluye:
- API:
contents,headings,subtitleen su solicitud de API Crear notificación. - Panel: Mensaje, Título, Subtítulo
2
Establecer content_available
- API: Establezca
content_availableentrue. - Panel: Marque Content available en “Send to Apple iOS”. Esto se aplica a todas las plataformas y simplemente le dice a nuestro sistema que no se está enviando ningún mensaje.
3
Agregar datos a la notificación
- API: Use el parámetro
data. - Panel: Use los campos Additional Data.
Configuración específica de la plataforma
Configuración de notificaciones en segundo plano de iOS
Para manejar notificaciones en segundo plano, su aplicación iOS debe tener la capacidad Background Modes > Remote Notifications habilitada en Xcode. Esto generalmente se agrega si siguió nuestra configuración del SDK móvil. Documentación de Apple:- Pushing Background Updates to Your App
- Generating a Remote Notification
- Para procesar la notificación, use el método
AppDelegateapplication(_:didReceiveRemoteNotification:fetchCompletionHandler:).
Configuración de notificaciones de datos de Android
Maneje notificaciones de datos en Android usando la Extensión de servicio de notificación. Esto le permite:- Procesar notificaciones siempre que la aplicación no haya sido cerrada forzosamente
- Personalizar cómo se muestran o suprimen las notificaciones
Enviar notificaciones VoIP
Las notificaciones VoIP son compatibles pero requieren configuración adicional fuera de los SDKs estándar de OneSignal. OneSignal no registra tokens VoIP automáticamente. Para instrucciones de configuración, consulte la guía de configuración de notificaciones VoIP.Preguntas frecuentes
¿Se pueden usar notificaciones silenciosas para detectar desinstalaciones o cancelaciones de suscripción?
Técnicamente sí, pero no es confiable. Como se explica en la sección Limitaciones anterior, no se garantiza que se entreguen las notificaciones silenciosas. En su lugar:- Envíe notificaciones visibles (con contenido) a todos sus usuarios al menos una vez al mes.
- Opcionalmente envíe notificaciones silenciosas como una verificación complementaria.