Passer au contenu principal

Aperçu

Ce guide vous explique comment ajouter des notifications push web OneSignal à votre site — de la configuration du tableau de bord à l’installation du SDK. OneSignal prend en charge Chrome, Firefox, Edge, Safari et les autres principaux navigateurs.

Exigences

  • Site web HTTPS : Le push web ne fonctionne pas sur HTTP ou en modes incognito/privé.
  • Accès au serveur : Vous devrez télécharger un fichier service worker sur votre site.
  • Origine unique : Le push web suit la politique de même origine. Si vous avez plusieurs origines (domaines/sous-domaines), vous aurez besoin de plusieurs applications OneSignal (une par origine). Pour vous conformer à cette limitation du navigateur, vous pouvez soit :
    • Rediriger le trafic vers une origine unique pour les abonnements.
    • Créer plusieurs applications OneSignal—une par origine.
Si votre équipe a déjà créé un compte avec OneSignal, demandez à être invité en tant qu’administrateur afin de pouvoir configurer l’application. Sinon, inscrivez-vous pour un compte gratuit sur onesignal.com pour commencer !

Configurer votre application et plateforme OneSignal

Dans le tableau de bord OneSignal :
  • Allez dans Paramètres > Push et intégrés > Web.
Page Paramètres du tableau de bord OneSignal affichant l'activation de la plateforme Web
Sélectionnez le type d’intégration :

Site typique (recommandé)

Gérez les invites et les paramètres directement via le tableau de bord OneSignal sans codage supplémentaire.

WordPress

Requis si vous utilisez WordPress avec notre plugin officiel.

Code personnalisé

Pour les développeurs qui ont besoin d’un contrôle total sur les invites et la configuration du SDK.

Configuration du site

Ajoutez les détails du site :
  • Nom du site : Le nom de votre site et le titre de notification par défaut.
  • URL du site : L’URL de votre site. Voir URL du site pour plus de détails.
  • Réabonnement automatique : Activez cette option pour réabonner automatiquement les utilisateurs qui effacent leurs données de navigateur lorsqu’ils retournent sur votre site (aucune nouvelle invite d’autorisation requise)
  • URL de l’icône par défaut : Téléchargez une image PNG ou JPG carrée de 256x256px qui apparaît dans les notifications et les invites. Si elle n’est pas définie, nous utilisons une cloche pour l’icône par défaut.
Configuration push web OneSignal affichant le nom du site, l'URL et les paramètres d'icône

URL du site

Entrez l’origine exacte de votre site, par ex., https://votredomaine.com. Évitez d’utiliser www. si votre site n’est pas configuré de cette façon. Si vous avez plusieurs origines :
  • Redirigez vers une origine unique.
  • Ou configurez une application OneSignal par origine.

Tests locaux

Notre SDK web peut être testé sur des environnements localhost. Si vous testez sur localhost, nous recommandons de configurer une application OneSignal différente de votre application de production.
Définissez l’URL DU SITE pour qu’elle corresponde exactement à l’URL de votre environnement localhost. Elle doit être une URL localhost courante, exemples :
  • http://localhost
  • https://localhost:3000
  • http://127.0.0.1
  • https://127.0.0.1:5000
Si votre localhost utilise HTTP, sélectionnez Traiter HTTP localhost comme HTTPS pour les tests.Google Chrome traite http://localhost et http://127.0.0.1 comme des origines sécurisées, permettant les intégrations HTTPS même sur HTTP. C’est pourquoi vous ne pouvez pas tester d’autres origines non standard sur HTTPS localhost.
Configuration localhost OneSignal avec l'option Traiter HTTP localhost comme HTTPS

Ajouter allowLocalhostAsSecureOrigin à vos options init OneSignal

Lors de l’initialisation de OneSignal sur votre site localhost, ajoutez allowLocalhostAsSecureOrigin: true, à vos options init OneSignal.De plus, si vous testez localhost sur HTTPS avec un certificat auto-signé, vous devrez peut-être demander à Chrome d’ignorer les certificats invalides pour les tests avec : --allow-insecure-localhost. Firefox et Safari fournissent des mécanismes intégrés pour ajouter des exceptions pour les certificats de sécurité.
  <script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script>
  <script>
    window.OneSignalDeferred = window.OneSignalDeferred || [];
    OneSignalDeferred.push(function(OneSignal) {
      OneSignal.init({
        appId: "YOUR_OS_APP_ID",
        allowLocalhostAsSecureOrigin: true,
      });
    });
  </script>

Invite d’autorisation

La configuration de site typique vous permet, à vous ou aux membres de votre équipe, d’ajouter, de supprimer et de mettre à jour les invites d’autorisation via le tableau de bord OneSignal à tout moment.

Invites d'autorisation web

Configurez quand et comment la boîte de dialogue d’autorisation du navigateur apparaît à vos utilisateurs.

Notification de bienvenue (optionnel)

Vous pouvez également définir une notification de bienvenue à envoyer aux utilisateurs lorsqu’ils s’abonnent aux notifications push.

Paramètres avancés

Fonctionnalités supplémentaires configurables dans le tableau de bord OneSignal.

Webhooks

Notre SDK web fournit la capacité de POST certains événements push web vers une URL de votre choix. Les webhooks push web sont une implémentation distincte des webhooks d’événements et ne peuvent pas être utilisés de manière interchangeable.

Webhooks push web

Envoyez des événements push web à votre serveur via des requêtes POST.

Service workers

À la page suivante de la configuration push web, vous recevrez le fichier service worker OneSignalSDKWorker.js. Notre SDK web cherche par défaut ce fichier à la racine de votre site. Si vous souhaitez modifier l’emplacement, le nom et/ou la portée de notre fichier service worker, c’est ici que vous pouvez mettre à jour ces paramètres.
  • Chemin vers les fichiers service worker est le chemin vers le répertoire où vous placerez ces fichiers.
  • Noms de fichiers service worker principal et de mise à jour peut simplement être OneSignalSDKWorker.js ou si vous souhaitez renommer ce fichier. Doit utiliser l’extension de fichier .js.
  • Portée d’enregistrement du service worker sont les pages sur lesquelles ce fichier peut fonctionner. Pour les notifications push, cela n’a pas d’importance et a été initialement conçu pour les cas où vous souhaitez ajouter plus de fonctionnalités au fichier service worker. Vous devriez définir ceci comme le même chemin que votre emplacement.
Champs de configuration du chemin, du nom de fichier et de la portée du service worker
Avec cet exemple, vous devriez voir le code du fichier accessible publiquement à https://votredomaine.com/push/onesignal/OneSignalSDKWorker.js

Service worker OneSignal

Configuration avancée du service worker, intégration personnalisée et migration depuis d’autres fournisseurs.

Comportement de clic

Contrôlez comment les utilisateurs naviguent vers l’URL que vous définissez lorsqu’ils cliquent sur la notification. Si l’utilisateur n’a pas votre site ouvert dans aucun onglet, le navigateur ouvre un nouvel onglet et navigue vers l’URL de la notification. Si l’utilisateur a déjà votre site ouvert, le comportement dépend du paramètre que vous choisissez :
ParamètreCorrespond àAction
Navigation exacte (par défaut)URL exacte (par ex. example.com/product)Navigue vers l’URL de la notification dans l’onglet correspondant
Navigation d’origineOrigine (par ex. example.com)Navigue vers l’URL de la notification dans l’onglet correspondant
Focus exactURL exacteSe concentre sur l’onglet correspondant sans rafraîchir
Focus d’origineOrigineSe concentre sur l’onglet correspondant sans rafraîchir

Persistance

Le comportement push web par défaut est qu’elles apparaissent sur l’appareil pendant environ 5 secondes avant d’être déplacées vers le Centre de notifications où elles sont conservées pendant environ 1 semaine avant d’être supprimées par le système d’exploitation. Certains appareils et versions de Chrome et Edge vous permettent de persister les notifications plus longtemps à l’écran. Cela signifie que la notification restera à l’écran jusqu’à ce que l’utilisateur interagisse avec elle. Cela pourrait ennuyer vos utilisateurs et n’est pas recommandé. De plus, si vous activez la persistance, cela affectera la façon dont les notifications apparaissent aux abonnés en réduisant le nombre de caractères et peut affecter la façon dont les images et les boutons sont affichés. Lors de leur modification, elles ne prendront effet que pour les abonnés qui visitent le site avec les paramètres mis à jour. Si vous ne voyez pas ces options changer, vous devrez attendre

Certificat Safari (optionnel)

OneSignal fournit automatiquement les certificats nécessaires pour fonctionner avec les navigateurs Safari sans coût supplémentaire. Si vous avez déjà vos propres certificats push web Safari, activez cette option pour télécharger votre certificat push Safari Web .p12 et mot de passe.
Bouton et champs de téléchargement du certificat push web Safari

Télécharger le fichier service worker

Ajoutez le fichier service worker OneSignalSDKWorker.js à votre site. Téléchargez-le depuis le tableau de bord OneSignal ou depuis GitHub.
Étape de téléchargement et de configuration du fichier service worker OneSignal
Placez ce fichier dans le répertoire racine de votre site ou dans un sous-répertoire. Si vous le placez dans un sous-répertoire, vous devrez définir le Chemin vers les fichiers service worker dans la section Paramètres avancés > Service workers. Une fois le fichier sur votre serveur, vérifiez ce qui suit pour vous assurer qu’il fonctionne :
1

Vérifier l'emplacement

Assurez-vous que le fichier est situé dans le même Chemin vers les fichiers service worker que défini dans Paramètres avancés > Service workers. Si vous n’avez pas mis à jour ces paramètres, vous devriez avoir mis le fichier à votre racine. Par exemple :
  • https://votredomaine.com/OneSignalSDKWorker.js
  • https://votredomaine.com/un-sous-repertoire/OneSignalSDKWorker.js
2

Il doit être accessible publiquement sur votre origine

Le fichier OneSignalSDKWorker.js doit être accessible publiquement et disponible sur votre origine. Il ne peut pas être hébergé via un CDN ou placé sur une origine différente avec redirection.Lorsque vous visitez l’URL du fichier, vous devriez voir le code.
3

Il doit être servi avec un content-type: application/javascript

C’est un fichier javascript et doit être servi comme tel. Il ne peut pas avoir un content-type de text/html.

Service worker OneSignal

Configuration avancée et migration depuis d’autres fournisseurs de push web.

Ajouter du code à votre site

Le code SDK JavaScript ci-dessous fonctionne sur n’importe quel site. Si votre site est construit avec Angular, React JS ou Vue JS, suivez ces liens. Pour initialiser OneSignal sur votre site avec notre SDK JavaScript, copiez/collez le code fourni dans les balises <head> de votre site web. Le tableau de bord OneSignal fournit ce même extrait pré-rempli avec votre ID d’application.
  <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_ONESIGNAL_APP_ID",
      });
    });
  </script>

Support du push web iOS

Apple a commencé à prendre en charge les notifications push web sur les iPhones et iPads exécutant iOS 16.4+. Contrairement aux appareils Android où le push web “fonctionne” simplement tant qu’il est visité sur un navigateur pris en charge, Apple a ajouté quelques exigences supplémentaires telles qu’un fichier manifest.json et une action utilisateur pour ajouter votre site à leur écran d’accueil.

Configuration du push web iOS

Ajoutez le fichier manifest.json requis et guidez les utilisateurs pour ajouter votre site à leur écran d’accueil.

Tester l’intégration du SDK OneSignal

Ce guide vous aide à vérifier que votre intégration du SDK OneSignal fonctionne correctement en testant les notifications push et l’enregistrement des abonnements.

Vérifier les abonnements web push

1

Lancez votre site sur un appareil de test.

  • Utilisez Chrome, Firefox, Edge ou Safari pendant les tests.
  • N’utilisez pas le mode Navigation privée ou Incognito. Les utilisateurs ne peuvent pas s’abonner aux notifications push dans ces modes.
  • Les invites devraient apparaître en fonction de votre configuration des invites de permission.
  • Cliquez sur Autoriser dans l’invite native pour vous abonner aux notifications push.
Invite de permission native du navigateur demandant à l'utilisateur d'autoriser ou bloquer les notifications
2

Vérifiez votre tableau de bord OneSignal

  • Allez dans Audience > Subscriptions.
  • Vous devriez voir une nouvelle entrée avec le statut Subscribed.
Page Abonnements du tableau de bord OneSignal affichant un abonnement web push avec le statut Subscribed
Vous avez créé avec succès un abonnement web push. Les abonnements web push sont créés lorsque les utilisateurs s’abonnent pour la première fois aux notifications push sur votre site.

Configurer les abonnements de test

Les abonnements de test sont utiles pour tester une notification push avant d’envoyer un message.
1

Ajouter aux abonnements de test.

Dans le tableau de bord, à côté de l’abonnement, cliquez sur le bouton Options (trois points) et sélectionnez Add to Test Subscriptions.
Menu d'options sur un abonnement affichant l'option Ajouter aux abonnements de test
2

Nommez votre abonnement.

Nommez l’abonnement afin de pouvoir identifier facilement votre appareil plus tard dans l’onglet Test Subscriptions.
3

Créer un segment d'utilisateurs de test.

Allez dans Audience > Segments > New Segment.
4

Nommez le segment.

Nommez le segment Test Users (le nom est important car il sera utilisé plus tard).
5

Ajoutez le filtre Test Users et cliquez sur Create Segment.

Éditeur de segment avec le filtre Test Users sélectionné et le segment nommé Test Users
Vous avez créé avec succès un segment d’utilisateurs de test. Nous pouvons maintenant tester l’envoi de messages à cet appareil individuel et à des groupes d’utilisateurs de test.

Envoyer un push de test via l’API

1

Obtenez votre clé API d'application et votre ID d'application.

Dans votre tableau de bord OneSignal, allez dans Settings > Keys & IDs.
2

Mettez à jour le code fourni.

Remplacez YOUR_APP_API_KEY et YOUR_APP_ID dans le code ci-dessous par vos clés réelles. Ce code utilise le segment Test Users que nous avons créé plus tôt.
curl -X \
POST --url 'https://api.onesignal.com/notifications' \
 --header 'content-type: application/json; charset=utf-8' \
 --header 'authorization: Key YOUR_APP_API_KEY' \
 --data \
 '{
  "app_id": "YOUR_APP_ID",
  "target_channel": "push",
  "name": "Testing basic setup",
  "headings": {
  	"en": "👋"
  },
  "contents": {
    "en": "Hello world!"
  },
  "included_segments": [
    "Test Users"
  ],
  "chrome_web_image": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
}'
3

Exécutez le code.

Exécutez le code dans votre terminal.
4

Vérifiez les images et la livraison confirmée.

Si toutes les étapes de configuration ont été complétées avec succès, les abonnements de test devraient recevoir une notification.
Seul Chrome prend en charge les images. Les images apparaîtront petites dans la vue de notification réduite. Développez la notification pour voir l’image complète.
Notification push développée sur Chrome macOS affichant une image personnalisée
5

Vérifiez la livraison confirmée.

Dans votre tableau de bord, allez dans Delivery > Sent Messages, puis cliquez sur le message pour afficher les statistiques. Vous devriez voir la statistique confirmed, ce qui signifie que l’appareil a reçu la push.
Safari ne prend pas en charge la Livraison confirmée.

Rapports de messages de notifications push

Consultez les statistiques de livraison, de clics et de conversion pour vos notifications push.
Vous avez envoyé avec succès une notification via l’API à un segment.
Si les notifications n’arrivent pas, contactez support@onesignal.com avec les éléments suivants :
  • La requête et la réponse API (copiez-collez dans un fichier .txt)
  • Votre Subscription ID
  • L’URL de votre site Web avec le code OneSignal

Identification des utilisateurs

La section précédente a couvert la création d’Abonnements web push. Cette section s’étend à l’identification des Utilisateurs sur tous leurs abonnements (y compris push, email et SMS) en utilisant le SDK OneSignal. Elle couvre les External IDs, les tags, les abonnements multicanaux, la confidentialité et le suivi des événements pour vous aider à unifier et engager les utilisateurs sur toutes les plateformes.

Attribuer un External ID

Utilisez un External ID pour identifier les utilisateurs de manière cohérente sur tous les appareils, adresses e-mail et numéros de téléphone en utilisant l’identifiant utilisateur de votre backend. Cela garantit que votre messagerie reste unifiée sur tous les canaux et systèmes tiers (particulièrement important pour les Intégrations). Définissez l’External ID avec la méthode login du SDK chaque fois qu’un utilisateur est identifié par votre application.
OneSignal génère des ID uniques en lecture seule pour les abonnements (Subscription ID) et les utilisateurs (OneSignal ID).Lorsque les utilisateurs téléchargent votre application sur différents appareils, s’abonnent à votre site Web et/ou vous fournissent des adresses e-mail et des numéros de téléphone en dehors de votre application, de nouveaux abonnements seront créés.La définition de l’External ID via le SDK est fortement recommandée pour identifier les utilisateurs sur tous leurs abonnements, quelle que soit la façon dont ils sont créés.

Ajouter des tags de données

Les Tags sont des paires clé-valeur de données chaîne que vous pouvez utiliser pour stocker les propriétés des utilisateurs (comme username, role ou les préférences) et les événements (comme purchase_date, game_level ou les interactions utilisateur). Les tags alimentent la Personnalisation des messages et la Segmentation avancées permettant des cas d’utilisation plus avancés. Définissez les tags avec les méthodes addTag et addTags du SDK au fur et à mesure que les événements se produisent dans votre application. Dans cet exemple, l’utilisateur a atteint le niveau 6 identifiable par le tag appelé current_level défini sur une valeur de 6.
Nous pouvons créer un segment d’utilisateurs ayant un niveau entre 5 et 10, et l’utiliser pour envoyer des messages ciblés et personnalisés :

Ajouter des abonnements email et/ou SMS

Le SDK OneSignal crée automatiquement des abonnements web push lorsque les utilisateurs optent pour les recevoir. Vous pouvez également atteindre les utilisateurs via les canaux email et SMS en créant les abonnements correspondants. Si l’adresse e-mail et/ou le numéro de téléphone existent déjà dans l’application OneSignal, le SDK l’ajoutera à l’utilisateur existant, il ne créera pas de doublons. Vous pouvez afficher les utilisateurs unifiés via Audience > Users dans le tableau de bord ou avec l’API View user.
Meilleures pratiques pour la communication multicanale
  • Obtenez un consentement explicite avant d’ajouter des abonnements email ou SMS.
  • Expliquez les avantages de chaque canal de communication aux utilisateurs.
  • Fournissez des préférences de canal afin que les utilisateurs puissent sélectionner les canaux qu’ils préfèrent.

Confidentialité et consentement de l’utilisateur

Pour contrôler quand OneSignal collecte les données utilisateur, utilisez les méthodes de contrôle du consentement du SDK : Pour en savoir plus sur la confidentialité et la sécurité :

Données collectées par le SDK

Examinez les données que le SDK OneSignal collecte auprès des utilisateurs.

Gestion des données personnelles

Gérez et protégez les données utilisateur conformément aux réglementations sur la confidentialité.

Écouter les événements push, utilisateur et in-app

Utilisez les écouteurs du SDK pour réagir aux actions des utilisateurs et aux changements d’état. Le SDK fournit plusieurs écouteurs d’événements auxquels vous pouvez vous connecter. Consultez notre guide de référence du SDK pour plus de détails.

Événements de notification push

Changements d’état de l’utilisateur


Configuration avancée et capacités

Explorez davantage de capacités pour améliorer votre intégration :

Migrer vers OneSignal

Passez d’un autre fournisseur de push à OneSignal.

Intégrations

Connectez OneSignal avec des outils et plateformes tiers.

Boutons d'action

Ajoutez des boutons interactifs aux notifications push.

Messagerie multilingue

Envoyez des messages localisés aux utilisateurs dans leur langue préférée.

Vérification d'identité

Sécurisez votre intégration SDK avec la vérification d’identité côté serveur.

Résultats personnalisés

Suivez les événements de conversion personnalisés liés à vos messages.

Configuration et référence du SDK Web

Configuration web push

Activez toutes les fonctionnalités clés de web push pour votre intégration.

Référence du SDK Web

Détails complets sur les méthodes disponibles et les options de configuration.
Félicitations ! Vous avez terminé avec succès le guide de configuration du SDK Web.


FAQ

Le push web fonctionne-t-il sur les sites HTTP ?

Non. Le push web requiert HTTPS. Les navigateurs l’imposent comme exigence de sécurité. La seule exception est localhost et 127.0.0.1, que les navigateurs traitent comme des origines sécurisées à des fins de développement.

Pourquoi ai-je besoin d’un fichier service worker ?

Le service worker s’exécute en arrière-plan et gère les notifications push entrantes même lorsque l’utilisateur n’a pas votre site ouvert. Sans lui, le navigateur ne peut pas afficher les notifications. Le fichier OneSignalSDKWorker.js doit être accessible publiquement sur votre origine.

Puis-je utiliser le push web sur iOS (iPhone/iPad) ?

Oui, à partir d’iOS 16.4+. Cependant, Apple exige un fichier manifest.json et l’utilisateur doit d’abord ajouter votre site à son écran d’accueil. Consultez Configuration du push web iOS pour les exigences complètes.

Pourquoi mes notifications ne s’affichent-elles pas ?

Les causes courantes incluent un fichier service worker mal placé, une URL de site incorrecte dans le tableau de bord, ou l’utilisateur ayant bloqué les notifications dans les paramètres de son navigateur. Consultez Notifications non affichées ou retardées pour une liste de vérification complète de dépannage.
Besoin d’aide ?Discutez avec notre équipe d’assistance ou envoyez un e-mail à support@onesignal.comVeuillez inclure :
  • Les détails du problème que vous rencontrez et les étapes de reproduction si disponibles
  • Votre OneSignal App ID
  • L’External ID ou le Subscription ID le cas échéant
  • L’URL du message que vous avez testé dans le OneSignal Dashboard le cas échéant
  • Tous les journaux ou messages d’erreur pertinents
Nous serons ravis de vous aider !