Skip to main content
Ce guide couvre l’API JavaScript pour les messages intégrés HTML créés avec l’éditeur HTML OneSignal. Si vous recherchez des méthodes SDK pour définir des déclencheurs, gérer les événements de clic dans les messages intégrés ou gérer le cycle de vie des messages intégrés, consultez la référence du SDK mobile.

Exigences

Utiliser l’attribut data-onesignal-unique-label pour le suivi des clics

Tous les éléments cliquables doivent avoir un attribut data-onesignal-unique-label avec une valeur unique. Cela permet à OneSignal de :
  • Suivre les analyses de clics
  • Déclencher correctement les actions associées
HTML
Si deux éléments partagent le même data-onesignal-unique-label, les clics peuvent être enregistrés incorrectement ou les actions peuvent ne pas se déclencher.

Attacher des écouteurs d’événements

Vous devez explicitement attacher des écouteurs d’événements JavaScript pour déclencher les actions de messages intégrés OneSignal.
JavaScript
Exemple :
HTML

Gestion du suivi des clics dans les messages intégrés HTML en bac à sable

Étant donné que les messages intégrés HTML s’exécutent dans une WebView en bac à sable, le suivi des clics et la navigation doivent se produire dans le même cadre. Les ancres standard (<a href="...">) et les appels window.open() ne sont pas suivis et peuvent déclencher des avertissements de console tels que :

Correct : utiliser un bouton et les API OneSignal

HTML

Incorrect : utiliser <a> ou window.open()

HTML
Cette navigation se produit en dehors du bac à sable du message intégré, empêchant OneSignal d’enregistrer l’événement de clic.
  • Chaque élément cliquable doit avoir un data-onesignal-unique-label unique.
  • Appelez toujours OneSignalIamApi.trackClick(e) avant openUrl() ou toute autre méthode de l’API OneSignal.
  • Liez les écouteurs d’événements après DOMContentLoaded pour vous assurer que les éléments existent.
  • OneSignal suit automatiquement les clics uniquement pour les méthodes listées dans cette référence ; toute navigation personnalisée doit appeler trackClick() manuellement.

Problèmes courants

  • Clics non enregistrés : trackClick() n’a pas été appelé ou l’élément manque un data-onesignal-unique-label.
    • Appelez trackClick(e) et assurez-vous que chaque élément a un label unique.
  • La console affiche “Attempting to perform subframe navigation” : Le code utilise window.open() ou un lien <a> au lieu de OneSignalIamApi.openUrl().
    • Utilisez OneSignalIamApi.openUrl(e, "https://example.com/") dans le même gestionnaire de clic.
  • Le mauvais label apparaît dans les analyses : Plusieurs éléments partagent le même data-onesignal-unique-label.
    • Donnez à chaque élément cliquable un label unique.

Fonctions disponibles

Toutes les actions de clic de l’éditeur de blocs sont également disponibles pour les messages intégrés HTML.

Invite de permission push

Affiche l’invite de permission de notification push native. Les événements de clic sont automatiquement suivis. Voir Inviter aux permissions push.
HTML

Invite de permission de localisation

Affiche l’invite de permission de localisation native. Les événements de clic sont automatiquement suivis. Voir Invites de permission de localisation.
HTML

Fermer le message intégré

Ferme le message intégré actuel. Les événements de clic sont automatiquement suivis.
html

Taguer l’utilisateur

Définit un tag. Les événements de clic sont automatiquement suivis.
HTML

Ouvrir une URL

Ouvre une URL dans le navigateur de l’appareil et ferme le message intégré. Les événements de clic sont automatiquement suivis. Prend en charge les liens profonds.
HTML

Nom de clic

Attribue un nom de clic qui peut être lu dans l’écouteur de clic de message intégré. Les événements de clic sont automatiquement suivis. Prend en charge les liens profonds.
HTML

Suivre le clic

Suit un événement de clic lorsque vous n’utilisez pas d’autres méthodes d’API cliquables.
html

Envoyer un résultat

Suit un résultat personnalisé non attribué et définit un tag sur l’utilisateur au format nom du résultat : true. Les événements de clic sont automatiquement suivis.
html

Personnalisation des messages intégrés HTML

Vous pouvez utiliser la substitution de tags dans les messages intégrés HTML tout comme dans l’éditeur de blocs.
La substitution de tags ne fonctionne pas à l’intérieur des balises <script>.
La substitution de tags fonctionne pour :
  • Texte en ligne (<h1>, <p>, <li>, etc.)
  • Règles <style> :
    CSS
  • Attributs avec des URL :
    • href
    • src
    • <form action>
    • <object data>

Utilisation des tags dans openUrl() et addClickName()

Étant donné que les balises <script> ne prennent pas en charge la substitution, utilisez l’une de ces méthodes : 1. Accéder à tous les tags avec liquidPlayerTags Cet objet global devient disponible après DOMContentLoaded.
HTML
2. Stocker un tag dans l’attribut href
HTML

Prochaines étapes