Aperçu
Ce guide vous accompagne dans le dépannage de votre configuration du SDK Web OneSignal. Avant de continuer, consultez la Configuration du SDK Web pour vous assurer d’avoir complété toutes les étapes. Les raisons les plus courantes pour lesquelles le push web semble ne pas fonctionner sont liées aux paramètres de notification de votre navigateur et de votre appareil :Compatibilité des navigateurs
Les utilisateurs peuvent voir les invites d’autorisation web mais ne peuvent pas s’abonner aux notifications push en modes incognito, privé ou invité du navigateur.Paramètres de notification de l’appareil
Les paramètres de notification de l’appareil sont la cause la plus courante des notifications web push qui n’apparaissent pas sur un appareil. Vérifiez les paramètres suivants, y compris les modes de concentration (Ne pas déranger, Batterie faible, etc.), avant de chercher d’autres causes.- Windows
- macOS
- Android
- iOS
Paramètres de notification Windows 10
Paramètres de notification Windows 10
- Sélectionnez Démarrer > Paramètres > Notifications et actions > Recevoir des notifications des applications et autres expéditeurs
- Assurez-vous que votre site et votre navigateur sont également activés.

Paramètres de notification Windows 10
- Sélectionnez Démarrer > Paramètres > Système > Notifications

Paramètres de notification Windows 11
- Activez les Notifications
- Désactivez Ne pas déranger (lors des tests, les notifications s’afficheront lorsque cette option est désactivée)
- Faites défiler vers le bas jusqu’à Notifications des applications et autres expéditeurs

Windows 11 Notifications des applications et autres expéditeurs
- Assurez-vous que vos navigateurs sont activés.

Liste des navigateurs dans les paramètres de notification Windows 11
Problèmes d’affichage des invites
Voici les raisons courantes pour lesquelles l’invite de notification push web peut ne pas s’afficher comme prévu.Confirmer qu'une invite est configurée
Vérifier la compatibilité du navigateur, les modes incognito, navigation privée ou invité.
Vérifier les paramètres de notification de votre navigateur
chrome://settings/content/notifications
Paramètres des notifications Chrome
- L’utilisateur a sélectionné “Ne pas autoriser les sites à envoyer des notifications”, ce qui empêchera l’invite d’autorisation native de s’afficher. Ce paramètre doit indiquer “Les sites peuvent demander à envoyer des notifications” pour permettre l’affichage de l’invite d’autorisation native.
- L’utilisateur a ajouté
https://yoursite.comà la liste “Non autorisés à envoyer des notifications”, ce qui empêchera l’invite d’autorisation native de s’afficher. Cette entrée doit être supprimée de la liste pour permettre l’affichage de l’invite d’autorisation native.
- Chrome - Cette page explique comment gérer les notifications dans Chrome en allant dans Paramètres > Confidentialité et sécurité > Paramètres des sites > Notifications, où vous pouvez contrôler le comportement par défaut et gérer les autorisations pour chaque site web.
- Firefox - Ce guide couvre les notifications Web Push de Firefox, expliquant comment gérer les autorisations de notification via Paramètres > Vie privée et sécurité > Notifications, et comment contrôler les autorisations pour des sites spécifiques via l’icône d’informations du site dans la barre d’adresse.
- Safari - Ce guide Apple explique comment personnaliser les notifications Safari sur Mac via Safari > Préférences > Sites web > Notifications, où vous pouvez gérer quels sites peuvent envoyer des notifications et contrôler le comportement des notifications via les Préférences Système.
- Edge - Cet article détaille comment gérer les notifications Edge en accédant à Paramètres > Confidentialité, recherche et services > Autorisations de site > Notifications, ou en cliquant sur l’icône d’informations du site dans la barre d’adresse.
Les exigences iOS/iPadOS ne sont pas remplies.
Étapes de dépannage
Après avoir vérifié ce qui précède, suivez ces étapes pour dépanner votre configuration du SDK Web OneSignal.Ouvrir la console des outils de développement du navigateur
- Desktop
- Android
- iOS
- Chrome : Faites un clic droit sur la page, cliquez sur Inspecter, et cliquez sur l’onglet Console de la fenêtre contextuelle qui s’ouvre.
- Firefox : Faites un clic droit sur la page, cliquez sur Inspecter l’élément, et cliquez sur l’onglet Console de la fenêtre contextuelle qui s’ouvre.
- Safari : Allez dans Safari → Préférences → Avancé et assurez-vous que Afficher le menu Développement dans la barre de menus est coché. Ensuite, sur votre page web, faites un clic droit, cliquez sur Inspecter l’élément, et cliquez sur l’onglet Console de la fenêtre contextuelle qui s’ouvre.

Console des outils de développement Desktop
Activer la journalisation du SDK web
- Vous devriez voir
undefinedcomme résultat. - Fermez l’onglet et ouvrez-en un nouveau sur la même page. Actualiser seul ne déclenchera pas tous les événements d’initialisation du SDK.
- Vous commencerez à voir les logs du SDK OneSignal dans la Console.

Console avec logs SDK détaillés
Erreurs de configuration
Vous pouvez rencontrer les erreurs suivantes après l’initialisation de OneSignal :
Erreur d'initialisation en double du SDK
init du SDK Web OneSignal est appelé plus d’une fois, souvent causé par la combinaison de la configuration du plugin WordPress ou de l’intégration Shopify avec du code manuel, ou par l’ajout accidentel du code init OneSignal plusieurs fois.
Comment résoudre : Supprimez tous les appels init en double. Si vous utilisez le plugin WordPress ou l’intégration Shopify, supprimez tout code OneSignal manuel de vos fichiers.

L'exemple montre que l'URL définie dans le tableau de bord OneSignal http://127.0.0.1:5501 n'est pas l'origine du site que vous visitez actuellement.
- Protocole : Doit être
https://(pour les tests locaux, voir Configuration localhost) - Domaine :
example.comvswww.example.com - Sous-domaine :
app.example.comvsexample.com

Exemple d'erreur de site HTTP non pris en charge
https://your-label.os.tc, et non à l’origine réelle de votre site. Le push web n’est pas pris en charge sur les sites HTTP ou les sites web qui ne peuvent pas héberger de service workers.
Comment résoudre : Les deux options nécessitent que vos utilisateurs se réabonnent car ils sont abonnés au sous-domaine os.tc, et non à votre site.
- Créez une nouvelle application OneSignal et définissez le nouvel App ID dans votre code d’initialisation. Cela vous permet de continuer à envoyer des push depuis l’ancienne application pour notifier les utilisateurs. Envoyez des notifications informant les utilisateurs que le site a été mis à jour et qu’ils doivent se réabonner. Offrir une réduction ou une incitation aide. Définissez l‘“URL de lancement” sur une page de destination avec une invite de réabonnement (cloche, lien personnalisé ou diapositive de catégorie). Consultez Invites d’autorisation pour plus de détails.
-
Conservez le même App ID en utilisant l’API Mettre à jour une application pour mettre à jour
chrome_web_originetsafari_site_originvers votre origine HTTPS. Parce que les utilisateurs se sont abonnés au sous-domaineos.tc, leur navigateur n’a pas d’autorisations push pour votre domaine réel. Ils seront à nouveau invités, et s’ils se réabonnent, ils auront deux abonnements push web sur le même navigateur — provoquant des notifications en double. Pour éviter les doublons, supprimez tous les abonnés push web actuels avant la mise à jour. Envoyez d’abord quelques notifications informant les utilisateurs qu’ils doivent se réabonner. Consultez Invites d’autorisation pour les options d’invite.
Erreurs d’installation du service worker
Si l’invite d’autorisation native vous est présentée et que vous cliquez sur “Autoriser”, vous pouvez rencontrer les erreurs d’installation de service worker suivantes :https://your-site.com/’) with script (‘https://your-site.com/...’): A bad HTTP response code (404) was received when fetching the script.https://www.yoursite.com/’) with script (‘https://www.yoursite.com/...’): A bad HTTP response code (403) was received when fetching the script.
Exemple d'erreur d'installation de service worker

Erreur de type MIME dans le service worker

Erreur de redirection dans la console
Trouver le chemin de votre service worker
OneSignalSDKWorker.js à la racine de votre site, sauf si vous avez défini un chemin personnalisé. Consultez Service worker OneSignal.WordPress : ne téléversez pas de worker à la racine du site et ne définissez pas de chemin personnalisé. Le plugin héberge le fichier dans sdk_files. Ouvrez cette URL à l’étape suivante. Consultez Configuration WordPress.Visiter directement le fichier du service worker dans votre navigateur
- Site typique par défaut (racine) :
https://yoursite.com/OneSignalSDKWorker.js - Plugin WordPress (v3) :
https://yoursite.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/OneSignalSDKWorker.js(nom du dossier WordPress.org ; les installations via zip peuvent différer) - Chemin personnalisé (tableau de bord Site typique ou
initCode personnalisé uniquement) :https://yoursite.com/your-custom-location/OneSignalSDKWorker.js
Vérifier que le fichier se charge
- Vous devriez voir le code JavaScript suivant :
JavaScript
- Ce fichier doit être servi avec un
content-typedeapplication/javascript. - Il ne peut y avoir aucune redirection vers ce fichier. Les fichiers doivent être hébergés sur le même domaine que votre site (pas de domaines CDN ou proxy).
Notifications non affichées
Cette section suppose que :- Vous avez consulté le guide Notifications non affichées : Web Push pour les raisons courantes pour lesquelles les notifications peuvent ne pas s’afficher sur votre appareil.
- L’invite d’autorisation native vous a été présentée et vous avez cliqué sur “Autoriser”. Consultez Problèmes d’affichage des invites ci-dessus si vous ne vous êtes pas abonné via l’invite d’autorisation native.
Obtenir votre Subscription ID
- L’URL de la page sur laquelle vous vous trouvez en cas de confusion.
-
Si le navigateur actuel prend en charge les notifications push.
truesignifie que le navigateur prend en charge les notifications push.falsesignifie que le navigateur ne prend pas en charge les notifications push.
-
Si vous êtes abonné aux notifications dans le navigateur.
truesignifie que vous avez autorisé les autorisations push pour cette URL.falsesignifie que vous n’avez pas autorisé ou avez refusé les autorisations push pour cette URL.
-
Si vous êtes opté-in avec OneSignal.
truesignifie que votre abonnement est abonné aux notifications push dans OneSignal.falsesignifie que votre abonnement n’est pas abonné aux notifications push dans OneSignal. Vérifiez si la méthodeoptOut()est appelée sur votre site.
-
Votre Subscription ID OneSignal.
- Conservez-le pour l’étape suivante. C’est l’ID que vous utiliserez pour vous envoyer une notification push.

Exemple de sortie des informations utilisateur dans la console
Envoyez-vous une notification
Tester avec Chrome
- Dans un nouvel onglet, ouvrez
chrome://gcm-internals. - Cliquez sur le bouton “Start Recording” en haut à gauche. Assurez-vous de voir “Connection State: CONNECTED”.
- Laissez cela ouvert et envoyez-vous une autre notification push vers votre abonnement push web Chrome.
- Vous devriez voir quelque chose dans le “Receive Message Log” si vous l’avez reçue.

Journalisation des internes GCM
- Si vous ne voyez pas de “Data msg received”, alors votre navigateur Chrome ne reçoit pas du tout la notification. Contactez le support OneSignal avec les logs des internes GCM.
- Si vous voyez “Data msg received” mais que vous n’avez toujours pas reçu de notification, passez à l’étape suivante.
- Ouvrez un nouvel onglet vers
chrome://serviceworker-internals - Recherchez
Scope: https://your-site.com(remplacezyour-site.compar le domaine réel de votre site). - Cliquez sur Inspect, ou Start -> Inspect. Une fenêtre contextuelle des outils de développement Chrome apparaîtra.

Inspection du service worker
- Dans la fenêtre contextuelle des outils de développement Chrome de notre service worker, cliquez sur l’onglet Console, et exécutez
OneSignalWorker.log.trace();. Cela devrait retournerundefined. Tous les messages de notre service worker devraient maintenant apparaître dans cette fenêtre contextuelle.
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
Questions fréquentes
Pourquoi est-ce que je vois “SDK already initialized” ?
Le codeinit du SDK Web OneSignal est appelé plus d’une fois sur la page. Cela se produit souvent lors de la combinaison du plugin WordPress avec du code manuel, ou lorsque la balise init est incluse dans plusieurs modèles de page. Supprimez les appels init en double pour résoudre le problème.
Puis-je utiliser le push web sur des sites HTTP ?
Non. Le push web nécessite HTTPS car les service workers — qui gèrent la livraison des push — ne fonctionnent que sur des origines sécurisées. Si vous utilisiez auparavant l’option “My site is not fully HTTPS”, vous devez migrer vers HTTPS. Consultez Erreurs de configuration pour les étapes de migration.Comment tester le push web sur localhost ?
Vous pouvez tester surlocalhost pendant le développement. Consultez Configuration localhost pour les instructions de configuration. Notez que les tests sur localhost ne fonctionnent que dans les navigateurs basés sur Chromium.




