Esta guía cubre la API de JavaScript para mensajes HTML dentro de la aplicación creados con el Editor HTML de OneSignal. Si estás buscando métodos SDK para configurar disparadores, manejar eventos de clic dentro de la aplicación o gestionar el ciclo de vida dentro de la aplicación, consulta la Referencia del SDK Móvil.Documentation Index
Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
Use this file to discover all available pages before exploring further.
Requisitos
Usar el atributo data-onesignal-unique-label para rastreo de clics
Todos los elementos clicables deben tener un atributo data-onesignal-unique-label con un valor único. Esto permite a OneSignal:
- Rastrear análisis de clics
- Disparar correctamente acciones asociadas
HTML
Adjuntar detectores de eventos
Debes adjuntar explícitamente detectores de eventos de JavaScript para disparar acciones dentro de la aplicación de OneSignal.JavaScript
HTML
Manejo del rastreo de clics en mensajes HTML dentro de la aplicación en entorno aislado
Debido a que los mensajes HTML dentro de la aplicación se ejecutan en un WebView aislado, el rastreo de clics y la navegación deben ocurrir dentro del mismo marco. Los anclajes estándar (<a href="...">) y las llamadas window.open() no se rastrean y pueden desencadenar advertencias en la consola como:
Correcto: usar un botón y APIs de OneSignal
HTML
Incorrecto: usar <a> o window.open()
HTML
- Cada elemento clicable debe tener un
data-onesignal-unique-labelúnico. - Siempre llama a
OneSignalIamApi.trackClick(e)antes deopenUrl()o cualquier otro método de API de OneSignal. - Vincula detectores de eventos después de
DOMContentLoadedpara asegurar que los elementos existan. - OneSignal rastrea automáticamente clics solo para los métodos listados en esta referencia; cualquier navegación personalizada debe llamar
trackClick()manualmente.
Problemas comunes
- Clics no registrados: No se llamó a
trackClick()o al elemento le falta undata-onesignal-unique-label.- Llama a
trackClick(e)y asegúrate de que cada elemento tenga una etiqueta única.
- Llama a
- La consola muestra “Attempting to perform subframe navigation”:
El código usa
window.open()o un enlace<a>en lugar deOneSignalIamApi.openUrl().- Usa
OneSignalIamApi.openUrl(e, "https://example.com/")dentro del mismo manejador de clics.
- Usa
- Aparece la etiqueta incorrecta en los análisis:
Múltiples elementos comparten el mismo
data-onesignal-unique-label.- Da a cada elemento clicable una etiqueta única.
Funciones disponibles
Todas las acciones de clic del Editor de Bloques también están disponibles para mensajes HTML dentro de la aplicación.Solicitud de permiso de push
Muestra la solicitud de permiso de notificación push nativa. Los eventos de clic se rastrean automáticamente. Ve Solicitar permisos de push.HTML
Solicitud de permiso de ubicación
Muestra la solicitud de permiso de ubicación nativa. Los eventos de clic se rastrean automáticamente. Ve Solicitudes de permiso de ubicación.HTML
Cerrar mensaje dentro de la aplicación
Descarta el mensaje dentro de la aplicación actual. Los eventos de clic se rastrean automáticamente.html
Etiquetar usuario
Establece una Etiqueta. Los eventos de clic se rastrean automáticamente.HTML
Abrir URL
Abre una URL en el navegador del dispositivo y cierra el mensaje dentro de la aplicación. Los eventos de clic se rastrean automáticamente. Soporta Enlace Profundo.HTML
Nombre de clic
Asigna un nombre de clic que puede leerse en el detector de clics de mensajes dentro de la aplicación. Los eventos de clic se rastrean automáticamente. Soporta Enlace Profundo.HTML
Rastrear clic
Rastrea un evento de clic cuando no estás usando otros métodos de API clicables.HTML
Enviar Outcome
Rastrea un Outcome Personalizado no atribuido y establece una Etiqueta en el usuario en el formatonombre del outcome : true. Los eventos de clic se rastrean automáticamente.
html
Personalizar mensajes HTML dentro de la aplicación
Puedes usar sustitución de etiquetas en mensajes HTML dentro de la aplicación al igual que en el Editor de Bloques. La sustitución de etiquetas funciona para:-
Texto en línea (
<h1>,<p>,<li>, etc.) -
Reglas
<style>:CSS -
Atributos con URLs:
hrefsrc<form action><object data>
Usar etiquetas en openUrl() y addClickName()
Dado que las etiquetas <script> no soportan sustitución, usa uno de estos métodos:
1. Acceder a todas las etiquetas con liquidPlayerTags
Este objeto global se vuelve disponible después de DOMContentLoaded.
HTML
href
HTML
Próximos pasos
- Aprende más sobre usar sintaxis liquid para sustitución de etiquetas
- Explora Enlace Profundo para manejo de URLs
- Diseñar mensajes dentro de la aplicación con HTML