
Imagen que muestra botones de acción en iOS
Esta guía se aplica solo a notificaciones push. Para mensajes en la aplicación, consulte Mensajes en la aplicación: Cómo agregar acciones de clic.
Agregar botones de acción
Puede configurar botones de acción en Plantillas, directamente al componer un mensaje en el panel, o a través de la API.Configuración del panel y plantillas
Al crear un push, abra Opciones avanzadas > Botones de acción.
Imagen que muestra botones de acción a agregar para iOS y Android
Configuración de API
- Aplicaciones móviles: Use el parámetro
buttons. Pase un array de hasta 3 objetos conid,texteicon. - Web (Chrome): Use
web_buttons, pasando hasta 2 objetos conid,text,iconyurl.
Propiedades del botón de acción
-
Action ID: Un identificador único para la acción específica del botón. El ID del botón clicado se le pasa para que pueda identificar qué botón fue clicado. (ej. ‘accept-button’)
- Debe ser único por botón.
- Disponible en el Payload de OSNotification y se puede acceder dentro del Manejador de eventos de notificación abierta del SDK.
- API: propiedad
id
-
Label: El texto que el botón debe mostrar a sus usuarios. (ej. ‘Accept’)
- API: propiedad
text
- API: propiedad
-
Icon: Icono opcional mostrado con la etiqueta del botón. No disponible en todas las plataformas y sistemas operativos. Consulte las preguntas frecuentes a continuación para obtener detalles.
- Las aplicaciones móviles deben incluir el botón dentro de sus recursos de imagen. Consulte Iconos de botones de acción a continuación para obtener detalles.
- Los sitios web pueden usar una URL válida y públicamente accesible a un icono. Manténgalo pequeño porque se descarga en cada visualización de notificación. (ej.
http://site.com/icon.png) - API: propiedad
icon
-
Button URL: La URL a abrir cuando se hace clic en la notificación. Pase
'do_not_open'para evitar abrir cualquier URL. (ej. ‘do_not_open’)- Solo web
- API: propiedad
url
Iconos de botones de acción
- iOS soporta iconos de botones de acción para iOS 15+
- Android dejó de soportar iconos de botones de acción para Android N (también conocido como 7)
Manejar clics de botones de acción
Cuando un usuario toca un botón, OneSignal entrega el Action ID a su aplicación/sitio. Puede usar el comportamiento predeterminado (abrir su aplicación/sitio) o anularlo.Comportamiento predeterminado (Abrir App/Sitio, luego manejar)
- La aplicación/sitio se abre (o se enfoca en la web).
- Su listener de clic/apertura recibe el evento con el Action ID. (Consulte referencia del SDK móvil o referencia del SDK web para detalles del listener de clics.)
Prevenir el lanzamiento de la aplicación desde clics de botones de acción
- Android: Siga Configuración del SDK de Android > Deshabilitar comportamiento de apertura predeterminado. Esto le permite interceptar clics en un Service Extensions y ejecutar lógica personalizada (ej. llamar a una API) sin abrir la aplicación.
- iOS: Incluya un
ios_categoryen la notificación para asociar acciones a través del Objeto UNNotificationCategory. Consulte Declarar sus tipos de notificación accionables de Apple para obtener más detalles. - Web (Chrome): Use la cadena mágica
_osp=do_not_openpara evitar abrir cualquier URL. Esto es compatible con Chrome y Firefox, pero no compatible con el navegador web Safari.
Plataformas compatibles y límites
| Plataforma | Botones compatibles | Notas |
|---|---|---|
| iOS | Hasta 4 | Iconos en iOS 15+. Requiere categorías para manejo en segundo plano. |
| Android / Amazon / Huawei | Hasta 3 | Sin iconos de botones desde Android 7+. |
| Web – Chrome | Hasta 2 | Botones e iconos compatibles. _osp=do_not_open compatible. |
| Web – Firefox | Sin botones | _osp=do_not_open funciona solo para la URL de lanzamiento. |
| Web – Safari | Sin botones | _osp=do_not_open no compatible. Proporcione una URL real. |
Los usuarios a menudo necesitan expandir la notificación para ver los botones (ej., presión larga en iOS, deslizar + Ver en algunos OEM de Android).
Solución de problemas
Los botones no aparecen
- Expanda la notificación (presión larga, deslizar + Ver, o expandir).
- Verifique que agregó Action ID y Label para cada botón.
- Verifique los límites de la plataforma (ej., solo 2 botones en Chrome).
Hacer clic en un botón no abre el navegador en la web móvil
Si el navegador está en segundo plano o completamente cerrado, la mayoría de los navegadores móviles (incluido Chrome) no pasarán a primer plano ni abrirán la URL, aunque los eventos de clic aún se activen en el service worker. Este es el comportamiento intencional del navegador para evitar que las aplicaciones en segundo plano interrumpan al usuario.- La mayoría de los navegadores móviles no se pondrán en primer plano desde un service worker en segundo plano. Los clics aún se disparan en el worker, pero la pestaña no se abre. Esto es intencional.
- Asegúrese de que la URL de lanzamiento y la URL del botón sean exactamente idénticas (incluidas las barras diagonales finales) si espera que la pestaña se enfoque en lugar de abrir una nueva.
Los iconos no aparecen
- iOS debe ser 15+ para iconos de botones.
- Android 7+ no renderiza iconos de botones de acción.
- En la web, confirme que la URL del icono es públicamente accesible y pequeña (rápida de descargar).
¿Por qué hay un botón de acción de cerrar?
Por defecto, las notificaciones push web en Windows 10 incluyen el botón Cerrar. Sin embargo, si agrega su propio botón de acción, entonces este botón de cerrar se elimina. Entonces, en cualquier caso, la notificación permanecerá en la pantalla hasta que el usuario interactúe con ella. Esto está diseñado por Google para darles a los usuarios la oportunidad de interactuar con la notificación.Need help?Chat with our Support team or email
[email protected]Please include:- Details of the issue you’re experiencing and steps to reproduce if available
- Your OneSignal App ID
- The External ID or Subscription ID if applicable
- The URL to the message you tested in the OneSignal Dashboard if applicable
- Any relevant logs or error messages