OSNotification representa el payload de notificación push en los SDKs de OneSignal. Úsala para acceder al título de la notificación, cuerpo, datos personalizados y propiedades específicas de la plataforma al manejar notificaciones en tu app.
Los payloads de notificaciones push están limitados a
4096 bytes. Para evitar truncamiento, mantén los payloads por debajo de 3500 bytes. El campo additionalData está limitado a 2048 bytes.Acceder a OSNotification en tu app
Todos los SDKs de OneSignal proporcionan un listener de eventos de notificación que devuelve un objeto OSNotification:
- Android: Usa el notification lifecycle listener
- iOS: Usa el notification lifecycle listener o un
UNNotificationServiceExtension
Campos de Android
Campos de iOS
OSNotificationAction (eventos de clic)
Describe la interacción del usuario con la notificación.
Estructura de payload personalizado de OneSignal
Todas las notificaciones de OneSignal incluyen un objeto especial"custom" en el payload:
Esta clave es requerida para que los SDKs de OneSignal procesen la notificación. Si falta, las notificaciones no activarán eventos de clic ni analíticas. Si envías pushes desde otro servicio a dispositivos que también usan OneSignal, filtra por esta clave para evitar procesamiento duplicado. Consulta Push payload handling para más información.
Mover additionalData a la raíz de APNS
Para apps de iOS, puedes colocar los campos deadditionalData en la raíz del payload de APNS en lugar de dentro del diccionario custom. Esto simplifica el acceso en manejadores de notificaciones personalizados.
1. Habilitar a través de la API
Usa el API Update an app y establece:
data
Los campos de data aparecen en la raíz del payload de APNS:
promo_code sin verificar el diccionario custom.
Notificaciones restauradas (Android)
El SDK de Android restaura las notificaciones después de un reinicio del dispositivo o de la app.Formatos de push token
- iOS Push (APNS): 64 caracteres, solo hexadecimal (0-9, a-f).
deviceToken.map {String(format: "%02x", $0)}.joined() - Android Push (FCM): Típicamente 163 caracteres, alfanumérico, puede contener guiones, dos puntos y guiones bajos.
Preguntas frecuentes
¿Cuál es el tamaño máximo del payload?
Los payloads de notificaciones push están limitados a 4096 bytes en total. El campoadditionalData está limitado a 2048 bytes. Para evitar truncamiento, mantén tu payload total por debajo de 3500 bytes.
¿Cómo identifico una notificación de OneSignal en el payload sin procesar?
Todas las notificaciones de OneSignal incluyen un objeto"custom" con una clave "i" que contiene el ID de la notificación. Verifica esta clave para distinguir las notificaciones de OneSignal de las enviadas por otros proveedores.
¿Puedo acceder a additionalData en la raíz del payload de APNS?
Sí. Habilitaadditional_data_is_root_payload a través del API Update an app para colocar los campos de additionalData en la raíz de APNS en lugar de dentro del diccionario custom. Consulta Mover additionalData a la raíz de APNS para más detalles.
Categorías de notificación de Android
Configura canales de notificación para dispositivos Android 8.0+.
Service Extensions móviles
Añade contenido enriquecido, insignias y seguimiento de entrega confirmada.
Referencia del SDK móvil
Referencia completa de los métodos y listeners del SDK móvil de OneSignal.