Passer au contenu principal

Configuration et débogage

Vous remarquerez peut-être la nécessité d’envelopper vos appels OneSignal avec OneSignalDeferred.push(async function() { ... }) Vous pouvez ajouter autant de méthodes que souhaité dans la function(). Le SDK OneSignal est chargé avec l’attribut defer sur votre page. Par exemple : <script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script> Cela signifie que le code OneSignal s’exécutera après que le document HTML ait été entièrement analysé, empêchant tout blocage du site par le SDK OneSignal. Cependant, cela présente un problème pour les scripts de page qui dépendent de l’existence de la variable OneSignalDeferred. Pour résoudre ce problème, lorsque vous ajoutez OneSignal à votre site, il doit commencer par : window.OneSignalDeferred = window.OneSignalDeferred || []; Cela crée une variable OneSignalDeferred, et si OneSignal est déjà chargé, elle est alors assignée à l’instance chargée. Sinon, la variable OneSignal est égale à un tableau vide - []. Tous les tableaux ont une fonction .push(), donc à ce stade, la variable OneSignalDeferred est simplement un tableau de fonctions que nous y poussons. Lorsque le SDK se charge finalement, le SDK traite toutes les fonctions poussées jusqu’à présent et redéfinit .push().

init()

Initialise le SDK OneSignal. Ceci devrait être appelé dans la balise <head> une fois sur chaque page de votre site. Le ONESIGNAL_APP_ID peut être trouvé dans Clés et ID.
Si vous souhaitez retarder l’initialisation du SDK OneSignal, nous recommandons d’utiliser nos méthodes de confidentialité.
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(async function(OneSignal) {
  await OneSignal.init({
    appId: "ONESIGNAL_APP_ID",
  });
});
Init options only work with Custom Code Setup. Otherwise, these are configured in the OneSignal dashboard.
ParameterTypeDescription
appIdStringRequired: Your OneSignal App ID found in Keys & IDs.
requiresUserPrivacyConsentBooleanDelays SDK initialization until the user provides privacy consent. Must call setConsentGiven() to complete setup.
safari_web_idStringThe Safari Web ID for your uploaded Safari .p12 certificate. Web Quickstart.
promptOptionsObjectCustomize the permission prompts. Details below.
notifyButtonObjectEnable and configure the Subscription Bell. Details below.
welcomeNotificationObjectCustomize or disable the welcome notification. Details below.
persistNotificationBooleanChrome (desktop only) - true: notification persists until clicked, false: disappears after a short time. Firefox/Safari ignore this setting.
webhooksObjectConfigure event callbacks. See Webhooks.
autoResubscribeBooleanRecommended: Auto-resubscribes users who clear browser cache or migrate to OneSignal. Overrides dashboard setting if used in code.
notificationClickHandlerMatchString"exact" (default): focuses tab with an exact URL match. "origin": focuses any tab with the same domain.
notificationClickHandlerActionString"navigate" (default): navigates to launchURL. "focus": focuses existing tab (only used with "origin" match).
serviceWorkerParamObjectSet the scope of the service worker. Must be different from other service worker’s scope if applicable. Example:
{ scope: "/myPath/myCustomScope/" }
serviceWorkerPathStringSet the location of the OneSignal service worker file. Example:
"myPath/OneSignalSDKWorker.js"

promptOptions parameters

Use promptOptions to localize or customize the user permission prompts. All fields are optional.
ParameterTypeDescription
slidedownObjectContains an array of prompts with configuration options.
promptsArray of ObjectsAn array of prompt configurations. Example:
"slidedown": { "prompts": [{...}, {...}] }
typeStringPrompt types:
  • push – Slide Prompt (no categories)
  • category – Slide Prompt with up to 10 categories
  • email – Collect email only
  • sms – Collect phone number only
  • smsAndEmail – Collect both
See Web Permission Prompts.
autoPromptBoolean
  • true: show based on delay.
  • false: prompt only shown manually via Slidedown API.
delayObjectControls when auto-prompt is shown:
{ pageViews: 3, timeDelay: 20 } = Show after 3rd pageview and 20s wait.
textObjectCustom text options:
  • actionMessage (max 90 chars)
  • acceptButton (max 15)
  • cancelButton (max 15)
  • emailLabel, smsLabel, confirmMessage
  • updateMessage, positiveUpdateButton, negativeUpdateButton (used for updating categories or contact info)
categoriesArray of ObjectsOnly for type: category. Each object includes:
tag: internal key
label: user-visible name
Example: [ {tag: "local_news", label: "Local News"} ]. See Data Tags.

notifyButton parameters

Configure the Subscription Bell (notify button) shown on the page.
ParameterTypeDescription
enableBooleanEnables the Subscription Bell. Disabled by default.
displayPredicateFunctionCustom function (or Promise) that returns true or false to show/hide the Bell. Evaluated once when shown.
sizeString'small', 'medium', or 'large'. Shrinks to 'small' after subscription.
positionString'bottom-left' or 'bottom-right'.
offsetObjectCSS pixel offsets: { bottom: '50px', left: '10px' }
prenotifyBooleanIf true, shows a “1 unread” icon and custom hover text.
showCreditBooleanSet to false to hide “Powered by OneSignal” in the popup.
textObjectCustom text for the bell UI.

welcomeNotification parameters

Customize the welcome notification sent after first-time subscription.
ParameterTypeDescription
disableBooleanDisable welcome notification.
messageStringRequired: Notification message. Defaults to 'Thanks for subscribing!' if blank.
titleStringNotification title. Defaults to site title. Use ' ' (space) to remove (not recommended).
urlURLOptional URL to open when the user clicks the notification. Typically not needed.

Example:
<script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script>
<script>
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(async function(OneSignal) {
  await OneSignal.init({
    appId: "YOUR_APP_ID",
    safari_web_id: "YOUR_SAFARI_WEB_ID",
    notifyButton: {
      enable: true,
    },
    promptOptions: {
      slidedown: {
        prompts: [{
            type: "smsAndEmail",
            autoPrompt: false,
            text: {
              emailLabel: "Insert Email Address",
              smsLabel: "Insert Phone Number",
              acceptButton: "Submit",
              cancelButton: "No Thanks",
              actionMessage: "Receive the latest news, updates and offers as they happen.",
              updateMessage: "Update your push notification subscription preferences.",
              confirmMessage: "Thank You!",
              positiveUpdateButton: "Save Preferences",
              negativeUpdateButton: "Cancel",
            },
            delay: {
              pageViews: 1,
              timeDelay: 20
            },
          },
          {
            type: "category",
            autoPrompt: true,
            text: {
              actionMessage: "We'd like to show you notifications for the latest news and updates.",
              acceptButton: "Allow",
              cancelButton: "Cancel",

              /* CATEGORY SLIDEDOWN SPECIFIC TEXT */
              negativeUpdateButton: "Cancel",
              positiveUpdateButton: "Save Preferences",
              updateMessage: "Update your push notification subscription preferences.",
            },
            delay: {
              pageViews: 3,
              timeDelay: 20
            },
            categories: [{
                tag: "politics",
                label: "Politics"
              },
              {
                tag: "local_news",
                label: "Local News"
              },
              {
                tag: "world_news",
                label: "World News",
              },
              {
                tag: "culture",
                label: "Culture"
              },
            ]
          }
        ]
      }
    }
  });
});
</script>

setLogLevel()

Set the logging to print additional logs to the console. See Debugging with Browser DevTools for more details.
JavaScript
  OneSignal.Debug.setLogLevel('trace');
Log levels:
  • 'trace'
  • 'debug'
  • 'info'
  • 'warn'
  • 'error'

Identité et propriétés de l’utilisateur

Lorsque vos utilisateurs s’abonnent aux notifications push sur votre site web, OneSignal crée automatiquement un ID OneSignal (niveau utilisateur) et un ID d’abonnement (niveau appareil). Vous pouvez associer plusieurs abonnements (par exemple, appareils, emails, numéros de téléphone) à un seul utilisateur en appelant login() avec votre identifiant utilisateur unique.
Consultez Utilisateurs et Alias pour plus de détails.

login(external_id)

Définit le contexte utilisateur sur l’external_id fourni. Garantit que tous les abonnements et propriétés associés à cet external_id sont unifiés sous un seul onesignal_id. Consultez Utilisateurs pour plus de détails. Comportements clés :
  • Si l’external_id existe déjà, le SDK bascule vers cet utilisateur. Les données anonymes collectées avant la connexion ne sont pas fusionnées et seront supprimées.
  • Si l’external_id n’existe pas, l’état local sera enregistré sous l’onesignal_id actuel. Toutes les données collectées lorsque l’utilisateur était anonyme seront conservées.
  • Le SDK réessaie automatiquement en cas d’échec réseau ou d’erreur serveur.
Appelez cette méthode chaque fois que l’utilisateur ouvre le site ou dans le listener de changement d’abonnement pour vous assurer que l’ID externe est défini et que l’abonnement est lié à l’utilisateur.
OneSignalDeferred.push(async function(OneSignal) {
   await OneSignal.login("external_id");
});

logout()

Dissocie l’utilisateur actuel de l’abonnement.
  • Supprime l’external_id de l’abonnement push actuel.
  • Réinitialise l’ID OneSignal vers un nouvel utilisateur anonyme.
  • Toutes les nouvelles données (par exemple tags, abonnements, données de session, etc.) seront désormais définies sur le nouvel utilisateur anonyme jusqu’à ce qu’il soit identifié avec la méthode login.
Utilisez ceci lorsqu’un utilisateur se déconnecte de votre application si vous souhaitez définir l’abonnement sur un nouvel utilisateur anonyme.
JavaScript
  OneSignalDeferred.push(async function(OneSignal) {
     await OneSignal.logout();
  });

OneSignal.User.onesignalId

Récupère l’ID OneSignal de l’utilisateur actuel enregistré localement dans le navigateur. Peut être null si appelé avant l’initialisation de l’état utilisateur. À la place, utilisez User State addObserver() pour écouter les changements d’état utilisateur.
JavaScript
  OneSignal.User.onesignalId

OneSignal.User.externalId

Récupère l’ID externe de l’utilisateur actuel enregistré localement dans le navigateur. Peut être null si non défini via la méthode login ou appelé avant l’initialisation de l’état utilisateur. À la place, utilisez User State addObserver() pour écouter les changements d’état utilisateur.
JavaScript
  OneSignal.User.externalId

addEventListener() État utilisateur

Écoute les changements dans le contexte utilisateur (par exemple, connexion, déconnexion, attribution d’ID).
JavaScript
  OneSignalDeferred.push(function() {
    OneSignal.User.addEventListener('change', function (event) {
      console.log('change', { event });
    });
  });

addAlias(), addAliases(), removeAlias(), removeAliases()

Les alias sont des identifiants alternatifs (comme des noms d’utilisateur ou des ID CRM).
  • Définissez l’external_id avec login() avant d’ajouter des alias. Les alias ajoutés aux abonnements sans external_id ne se synchroniseront pas sur plusieurs abonnements.
  • Consultez Alias pour plus de détails.
JavaScript
  // Ajouter un seul alias
  OneSignal.User.addAlias("ALIAS_LABEL", "ALIAS_ID");

  // Ajouter plusieurs alias
  OneSignal.User.addAliases({
    ALIAS_LABEL_01: "ALIAS_ID_01",
    ALIAS_LABEL_02: "ALIAS_ID_02",
    ALIAS_LABEL_03: "ALIAS_ID_03",
  });

  // Supprimer un seul alias
  OneSignal.User.removeAlias("ALIAS_LABEL");

  // Supprimer plusieurs alias
  OneSignal.User.removeAliases(["ALIAS_LABEL_01", "ALIAS_LABEL_02", "ALIAS_LABEL_03"]);

getLanguage(), setLanguage()

Obtenez et/ou remplacez la langue auto-détectée de l’utilisateur. Consultez Messagerie multilingue pour une liste des codes de langue disponibles.
JavaScript
  // Obtenir la langue de l'utilisateur actuellement connecté
  OneSignal.User.getLanguage()

  // Définir la langue de l'utilisateur actuellement connecté
  OneSignal.User.setLanguage('en')

Événements personnalisés

Déclenchez des Journeys et activation de l’étape Wait Until via un événement personnalisé.
Les événements personnalisés nécessitent le SDK Web 160500+Un utilisateur doit être connecté pour que les événements personnalisés soient suivis.
Suivez et envoyez un événement personnalisé effectué par l’utilisateur actuel.
  • name - Requis. Le nom de l’événement sous forme de chaîne.
  • properties - Optionnel. Paires clé-valeur à ajouter à l’événement. Le dictionnaire ou la carte des propriétés doit être sérialisable en un objet JSON valide. Prend en charge les valeurs imbriquées.
Le SDK inclut automatiquement les données spécifiques à l’application dans le payload des propriétés sous la clé réservée os_sdk qui sera disponible à la consommation. Par exemple, pour cibler les événements par type d’abonnement, vous accéderiez à os_sdk.type.
json
{
  "os_sdk": {
    "device_os": "138",
    "type": "ChromePush",
    "device_model": "MacIntel",
    "sdk": "160500"
  }
}

trackEvent()

JavaScript
const properties = {
  "promo_code": "NEW50",
  "membership_details": {
     "vip": true,
     "products_viewed_count": 15,
  }
}
window.OneSignal.User.trackEvent('started_free_trial', properties);

// Vous pouvez également suivre un événement par nom sans propriétés supplémentaires associées
window.OneSignal.User.trackEvent('my_event_name');

Tags de données

Les tags sont des paires personnalisées clé : valeur de données chaîne que vous définissez sur les utilisateurs en fonction d’événements ou de propriétés utilisateur. Consultez Tags de données pour plus de détails.

addTag(), addTags()

Définissez un ou plusieurs tags sur l’utilisateur actuel.
  • Les valeurs seront remplacées si la clé existe déjà.
  • Dépasser la limite de tags de votre plan entraînera l’échec silencieux des opérations.
JavaScript
  // Ajouter un seul tag
  OneSignal.User.addTag('tag_key', 'tag_value');

  // Ajouter plusieurs tags
  OneSignal.User.addTags({
   KEY_01: "VALUE_01",
   KEY_02: "VALUE_02",
   KEY_03: "VALUE_03"
  });

removeTag(), removeTags()

Supprimez un ou plusieurs tags de l’utilisateur actuel.
JavaScript
  // Supprimer un seul tag
  OneSignal.User.removeTag("KEY");

  OneSignal.User.removeTags(['KEY_01', 'KEY_02', 'KEY_03']);

getTags()

Renvoie la copie locale des tags de l’utilisateur. Les tags sont mis à jour depuis le serveur pendant login() ou les nouvelles sessions d’application.
JavaScript
  const tags = OneSignal.User.getTags()

Confidentialité

setConsentRequired()

Impose le consentement de l’utilisateur avant le début de la collecte de données. Doit être appelé avant l’initialisation du SDK. Cette méthode est identique à l’ajout de requiresUserPrivacyConsent: true à la méthode init.
JavaScript
  OneSignal.setConsentRequired(true);

setConsentGiven()

Accorde ou révoque le consentement de l’utilisateur pour la collecte de données. Sans consentement, aucune donnée n’est envoyée à OneSignal et aucun abonnement n’est créé.
  • Si setConsentRequired() ou requiresUserPrivacyConsent est défini sur true, notre SDK ne sera pas complètement activé jusqu’à ce que setConsentGiven soit appelé avec true.
  • Si setConsentGiven est défini sur true et qu’un abonnement est créé, puis qu’il est ensuite défini sur false, cet abonnement ne recevra plus de mises à jour. Les données actuelles de cet abonnement restent inchangées jusqu’à ce que setConsentGiven soit à nouveau défini sur true.
  • Si vous souhaitez supprimer les données utilisateur et/ou d’abonnement, utilisez nos API Delete user ou Delete subscription.
JavaScript
  OneSignal.setConsentGiven(true);

Abonnements

Consultez Abonnements pour plus de détails.

User.PushSubscription.id

Récupère l’ID d’abonnement push de l’utilisateur actuel enregistré localement dans le navigateur. Peut renvoyer null si appelé trop tôt. Il est recommandé d’obtenir ces données dans l’observateur d’abonnement pour réagir aux changements.
JavaScript
  OneSignal.User.PushSubscription.id;

User.PushSubscription.token

Renvoie le token d’abonnement push actuel. Peut renvoyer null si appelé trop tôt. Il est recommandé d’obtenir ces données dans l’observateur d’abonnement pour réagir aux changements.
JavaScript
  OneSignal.User.PushSubscription.token;

addEventListener() changements d’abonnement push

Utilisez cette méthode pour répondre aux changements d’abonnement push comme :
  • L’appareil reçoit un nouveau token push de Google (FCM) ou Apple (APNs)
  • OneSignal attribue un ID d’abonnement
  • La valeur optedIn change (par exemple appelé optIn() ou optOut())
  • L’utilisateur bascule la permission push dans les paramètres système, puis ouvre l’application
Lorsque cela se produit, le SDK déclenche l’événement onPushSubscriptionChange. Votre listener reçoit un objet d’état avec les valeurs previous et current afin que vous puissiez détecter exactement ce qui a changé. Pour arrêter d’écouter les mises à jour, appelez la méthode removeObserver() ou removeEventListener() associée.
JavaScript
  function pushSubscriptionChangeListener(event) {
    console.log("event.previous.id", event.previous.id);
    console.log("event.current.id", event.current.id);
    console.log("event.previous.token", event.previous.token);
    console.log("event.current.token", event.current.token);
    console.log("event.previous.optedIn", event.previous.optedIn);
    console.log("event.current.optedIn", event.current.optedIn);
  }

  OneSignalDeferred.push(function(OneSignal) {
    OneSignal.User.PushSubscription.addEventListener("change", pushSubscriptionChangeListener);
  });

optOut(), optIn(), optedIn

Contrôle le statut d’abonnement (subscribed ou unsubscribed) de l’abonnement push actuel. Utilisez ces méthodes pour contrôler le statut d’abonnement push sur votre site. Cas d’utilisation courants : 1) Empêcher l’envoi de push aux utilisateurs qui se déconnectent. 2) Implémenter un centre de préférences de notification au sein de votre site.
  • optOut() : Définit le statut d’abonnement push actuel sur désabonné (même si l’utilisateur a un token push valide).
  • optIn() : Effectue l’une des trois actions suivantes :
    1. Si l’abonnement dispose d’un token push valide, il définit le statut d’abonnement push actuel sur subscribed.
    2. Si l’abonnement ne dispose pas d’un token push valide, il tente d’afficher l’invite de permission push.
  • optedIn : Renvoie true si le statut d’abonnement push actuel est abonné, sinon false. Si le token push est valide mais que optOut() a été appelé, cela renverra false.
JavaScript
  OneSignal.User.PushSubscription.optOut();

  OneSignal.User.PushSubscription.optIn();

  var optedIn = OneSignal.User.PushSubscription.optedIn;

addEmail(), removeEmail()

Ajoute ou supprime un abonnement email (adresse email) à/de l’utilisateur actuel. Appelez addEmail après login() pour définir le bon contexte utilisateur. Compatible avec la Vérification d’identité.
JavaScript
  OneSignal.User.addEmail("example@email.com");

  OneSignal.User.removeEmail("example@email.com");

addSms(), removeSms()

Ajoute ou supprime un abonnement SMS (numéro de téléphone) à/de l’utilisateur actuel. Nécessite le format E.164. Appelez addSms après login() pour définir le bon contexte utilisateur. Compatible avec la Vérification d’identité.
JavaScript
  OneSignal.User.addSms("+15558675309");

  OneSignal.User.removeSms("+15558675309");

Invites déroulantes

Affichez les diverses invites déroulantes sur vos sites. Consultez Invites de permission web pour plus de détails.
  • Si rejetée, les futurs appels seront ignorés pendant au moins trois jours. D’autres refus allongeront le temps nécessaire avant de solliciter à nouveau l’utilisateur.
  • Pour contourner le comportement de back-off, passez {force: true} à la méthode. Cependant, pour offrir une bonne expérience utilisateur, liez l’action à un événement initié par l’interface utilisateur comme un clic de bouton.
Cela ne remplace pas l’invite native du navigateur requise pour l’abonnement. Vous devez obtenir les permissions en utilisant l’invite native du navigateur.

promptPush()

Affiche l’invite déroulante régulière pour les notifications push.
JavaScript
  OneSignal.Slidedown.promptPush();
  // Pour contourner la logique de back-off lors des tests, passez {force: true}
  //OneSignal.Slidedown.promptPush({force: true});

promptPushCategories()

Affiche l’invite déroulante de catégorie, permettant aux utilisateurs de mettre à jour leurs tags. Déclenche également l’invite native de permission de notification si l’utilisateur n’a pas déjà accordé la permission.
  • Si vous n’utilisez pas de catégories, appelez plutôt promptPush().
  • Soumis à la logique de back-off définie par OneSignal. Consultez Invites de permission web pour plus de détails.
JavaScript
  OneSignal.Slidedown.promptPushCategories();
  // Pour contourner la logique de back-off lors des tests, passez {force: true}
  //OneSignal.Slidedown.promptPushCategories({force: true});

promptSms()

Affiche l’invite d’abonnement SMS.
JavaScript
  OneSignal.Slidedown.promptSms();
  // Pour contourner la logique de back-off lors des tests, passez {force: true}
  //OneSignal.Slidedown.promptSms({force: true});

promptEmail()

Affiche l’invite d’abonnement email.
JavaScript
  OneSignal.Slidedown.promptEmail();
  // Pour contourner la logique de back-off lors des tests, passez {force: true}
  //OneSignal.Slidedown.promptEmail({force: true});

promptSmsAndEmail()

Affiche simultanément les invites d’abonnement SMS et email.
JavaScript
  OneSignal.Slidedown.promptSmsAndEmail();
  // Pour contourner la logique de back-off lors des tests, passez {force: true}
  //OneSignal.Slidedown.promptSmsAndEmail({force: true});

addEventListener() Slidedown

Ajoutez un callback pour détecter l’événement d’affichage de l’invite Slidedown.
JavaScript
  OneSignalDeferred.push(function(OneSignal) {

    OneSignal.Slidedown.addEventListener('slidedownShown', function (event) {
      console.log('slidedownShown', { event });
    });

  });

Notifications push

requestPermission()

Demande la permission de notifications push via l’invite native du navigateur. Soumis à la logique de back-off définie par le navigateur. Consultez Invites de permission web pour plus de détails.
JavaScript
  OneSignal.Notifications.requestPermission();

isPushSupported()

Renvoie true si le navigateur actuel prend en charge le push web.
JavaScript
  const isSupported = OneSignal.Notifications.isPushSupported();

OneSignal.Notifications.permission

Renvoie un booléen indiquant la permission actuelle du site pour afficher des notifications.
  • true : L’utilisateur a accordé la permission d’afficher des notifications.
  • false : L’utilisateur a soit refusé, soit n’a pas encore accordé la permission d’afficher des notifications.
Ceci est juste la permission du site, ne prend pas en compte le statut optOut de OneSignal ou l’existence de l’ID d’abonnement et du token push, consultez OneSignal.User.PushSubscription pour ceux-ci. Pour écouter les changements de permission, utilisez l’événement permissionChange.
JavaScript
  let permission = OneSignal.Notifications.permission;

addEventListener() notifications

Vous pouvez vous connecter au cycle de vie des notifications en attachant vos gestionnaires d’événements à un événement de notification. Appeler addEventListener vous permet d’ajouter un nombre arbitraire de gestionnaires d’événements pour les événements de notification. Pour arrêter d’écouter les événements, appelez la méthode removeEventListener() associée.
JavaScript
  function eventListener(event) {
    console.log(`${event}`);
  }

  OneSignal.Notifications.addEventListener("event", eventListener);

  OneSignal.Notifications.removeEventListener("event", eventListener);

permissionChange

Cet événement se produit lorsque l’utilisateur clique sur Autoriser ou Bloquer ou rejette la demande de permission native du navigateur.
JavaScript
  function permissionChangeListener(permission) {
    if (permission) {
      console.log(`permission acceptée !`);
    }
  }

  OneSignal.Notifications.addEventListener("permissionChange", permissionChangeListener);

permissionPromptDisplay

Cet événement se produit lorsque la demande de permission native du navigateur vient d’être affichée.
JavaScript
  function promptListener() {
    console.log(`événement d'affichage de l'invite de permission : ${event}`);
  }

  OneSignal.Notifications.addEventListener("permissionPromptDisplay", promptListener);

click

Cet événement se déclenchera lorsque le corps/titre de la notification ou les boutons d’action sont cliqués.
JavaScript
  function clickEventListener(event) {
    console.log(`événement de clic : ${event}`);
  }

  OneSignal.Notifications.addEventListener("click", clickEventListener);

foregroundWillDisplay

Cet événement se produit avant qu’une notification ne s’affiche. Cet événement est déclenché sur votre page. Si plusieurs onglets de navigateur sont ouverts sur votre site, cet événement sera déclenché sur toutes les pages sur lesquelles OneSignal est actif.
JavaScript
  function foregroundWillDisplayListener(event) {
    console.log(`la notification va s'afficher : ${notification}`);
  }

  OneSignal.Notifications.addEventListener("foregroundWillDisplay", foregroundWillDisplayListener);

dismiss

Cet événement se produit lorsque :
  • Un utilisateur rejette intentionnellement la notification sans cliquer sur le corps de la notification ou les boutons d’action
  • Sur Chrome sur Android, un utilisateur rejette toutes les notifications push web (cet événement sera déclenché pour chaque notification push web que nous affichons)
  • Une notification expire d’elle-même et disparaît
Cet événement ne se produit pas si un utilisateur clique sur le corps de la notification ou sur l’un des boutons d’action. Cela est considéré comme un événement click de notification.
JavaScript
  function notificationDismissedListener(event) {
    console.log(`événement de rejet : ${event}`);
  }

  OneSignal.Notifications.addEventListener("dismiss", notificationDismissedListener);

setDefaultUrl()

Définit l’URL par défaut pour les notifications. Si vous n’avez pas défini d’URL par défaut, votre notification s’ouvrira à la racine de votre site par défaut.
JavaScript
  OneSignal.Notifications.setDefaultUrl("https://onesignal.com");
Pour définir l’URL par défaut des notifications, fournissez une URL valide que vous souhaitez lancer lorsque la notification est cliquée. Cette URL par défaut sera utilisée si aucune autre URL n’est spécifiée lors de la création d’une notification. Si vous spécifiez une URL lors de la création d’une notification, l’URL par défaut sera remplacée. Dans le cas de Safari, l’URL de l’icône de notification par défaut sera définie sur l’URL du site que vous avez spécifiée dans vos paramètres Safari, car cette fonction n’est pas disponible.

setDefaultTitle()

Définit le titre par défaut à afficher sur les notifications.
JavaScript
  OneSignal.Notifications.setDefaultTitle("Powered by OneSignal!");
Si une notification est créée avec un titre, le titre spécifié remplace toujours ce titre par défaut. Le titre d’une notification est par défaut le titre de la dernière page visitée par l’utilisateur. Si les titres de vos pages varient d’une page à l’autre, cette incohérence peut être indésirable. Appelez ceci pour standardiser les titres de page sur les notifications, tant qu’un titre de notification n’est pas spécifié.

Résultats

sendOutcome()

Déclenche un résultat qui peut être consulté dans le tableau de bord OneSignal. Accepte un nom de résultat (string, requis) et une valeur (number, optionnel). Chaque fois que la méthode sendOutcome est invoquée avec le même nom de résultat transmis, le nombre de résultats augmentera, et la valeur du résultat sera augmentée du montant transmis (s’il est inclus). Consultez Résultats personnalisés pour plus de détails.
JavaScript
  OneSignal.Session.sendOutcome('nom du résultat', 19.84);

sendUniqueOutcome()

Déclenche un résultat qui peut être consulté dans le tableau de bord OneSignal. Accepte uniquement le nom du résultat (string, requis). sendUniqueOutcome augmentera le nombre pour ce résultat une seule fois par utilisateur. Consultez Résultats personnalisés pour plus de détails.
JavaScript
  OneSignal.Session.sendUniqueOutcome('nom du résultat');