OneSignalSDKWorker.js) est un fichier JavaScript hébergé sur votre serveur, nécessaire pour les notifications push web. Il permet à votre site de recevoir et d’afficher des notifications, même lorsque l’utilisateur n’est pas sur votre page.

Comment le OneSignal service worker traite les notifications push
OneSignalSDKWorker.js dans son répertoire sdk_files et configure le chemin pour vous. Ne téléversez pas le fichier à la racine de votre site et ne définissez pas de chemin personnalisé dans le tableau de bord ou dans le code. Consultez Configuration WordPress. Shopify déploie également le worker pour vous. Consultez Configuration Shopify.Configuration du service worker
Créez un fichierOneSignalSDKWorker.js dédié pour les notifications push OneSignal. Si votre site dispose déjà d’un service worker et que vous souhaitez utiliser un seul fichier, consultez plutôt Combiner plusieurs service workers.
Télécharger ou créer OneSignalSDKWorker.js
OneSignalSDKWorker.js avec la seule ligne de code suivante :onesignalsdkworker.js, ossw.js). Dans ce cas, remplacez OneSignalSDKWorker.js dans ce guide par votre nom de fichier.Téléverser sur votre serveur web
OneSignalSDKWorker.js sur votre serveur de manière à ce qu’il soit accessible publiquement via HTTPS. Le fichier ne doit pas nécessiter d’authentification ou de connexion pour y accéder.Recommandé : Hébergez le fichier dans un sous-répertoire dédié qui ne sert jamais de pages, tel que /push/onesignal/. Cela évite les conflits avec d’autres service workers sur votre site (p. ex., un service worker de PWA ou AMP) et maintient la stabilité du chemin URL.- Exemple :
https://yoursite.com/push/onesignal/OneSignalSDKWorker.js
https://yoursite.com/OneSignalSDKWorker.js). Vous pouvez téléverser le fichier dans le répertoire racine, mais il peut entrer en conflit avec d’autres service workers nécessitant une portée racine. Si vous utilisez une PWA, placez plutôt OneSignalSDKWorker.js dans un sous-répertoire.Vérifier que le fichier est accessible
https://yoursite.com/push/onesignal/OneSignalSDKWorker.js). Vous devriez voir la ligne importScripts de la première étape :
Contenu attendu du fichier service worker dans le navigateur
Indiquer au SDK où trouver le fichier
OneSignalSDKWorker.js à la racine de votre site (https://yoursite.com/OneSignalSDKWorker.js) sauf si vous lui indiquez un emplacement différent. La façon de le lui indiquer dépend de votre type d’intégration.Si vous avez placé le fichier à la racine de votre site, aucune configuration supplémentaire n’est nécessaire. Passez à l’étape suivante.Si vous avez placé le fichier dans un sous-répertoire, vous devez définir le chemin. Le Site typique le définit dans le tableau de bord. Le Code personnalisé le définit dans OneSignal.init(). Mélanger les deux ne fonctionne pas : les champs de chemin du tableau de bord ne s’appliquent pas au Code personnalisé, et serviceWorkerPath ne s’applique pas au Site typique.Site typique
Définissez le chemin dans le tableau de bord OneSignal. Ne passez passerviceWorkerPath dans le code.- Allez dans Settings > Push & In-App > Web.
- Sous Advanced Push Settings, activez Customize service worker paths and filenames.

Configuration du chemin du service worker dans le tableau de bord
Code personnalisé
PassezserviceWorkerPath et serviceWorkerParam dans votre appel OneSignal.init(). Le Code personnalisé n’utilise pas les champs Customize service worker paths and filenames du tableau de bord.https://yoursite.com/OneSignalSDKWorker.js et l’enregistrement échoue.Consultez la Configuration avec code personnalisé pour ajouter ces options à votre extrait init complet.Vérifier les exigences du service worker
OneSignalSDKWorker.js doit satisfaire toutes les exigences suivantes pour que les notifications push fonctionnent.Configuration du SDK Web
Combiner plusieurs service workers
Chaque fichier service worker sur votre site est enregistré à une portée — un chemin URL qui détermine quelles pages il contrôle. Un seul service worker peut être actif à une portée donnée. Si vous avez déjà un service worker (par exemple, une PWA ou un worker de mise en cache) et souhaitez qu’OneSignal partage le même fichier, vous pouvez les combiner. Pour combiner, ajoutez la ligneimportScripts de OneSignal à votre fichier service worker existant :
Guide de migration
Cette section est destinée aux clients OneSignal existants qui doivent modifier le chemin du fichier service worker, le nom de fichier ou la portée. Ne suivez pas ces étapes sauf si vous avez une raison spécifique de modifier votre configuration actuelle.Quand et comment migrer votre service worker
Quand et comment migrer votre service worker
- Le OneSignal service worker avec portée racine entre en conflit avec une Progressive Web App (PWA)
- Le service worker entre en conflit avec AMP ou un autre service worker de mise en cache
- Les politiques de sécurité interdisent le code de service worker tiers à portée racine
OneSignalSDKWorker.js contient uniquement :serviceWorkerParam (Code personnalisé) comme décrit dans Indiquer au SDK où trouver le fichier. Aucune autre modification n’est nécessaire.Si votre fichier contient OneSignal + autre codeVotre service worker peut inclure des appels importScripts supplémentaires (p. ex., suite au guide de combinaison de plusieurs service workers). Si votre configuration actuelle fonctionne toujours, conservez-la telle quelle — séparer un service worker fusionné nécessite un déploiement en deux phases.Si vous devez les séparer :Ajouter un commentaire de rétention au fichier existant
importScripts de OneSignal dans votre service worker actuel, ajoutez :Créer un nouveau service worker dédié OneSignal
OneSignalSDKWorker.js dans un sous-répertoire (p. ex., /push/onesignal/) contenant uniquement :Mettre à jour la configuration OneSignal
OneSignal.init() (Code personnalisé) comme décrit dans Indiquer au SDK où trouver le fichier.Attendre que les abonnés migrent
Nettoyage
importScripts de OneSignal du fichier service worker original.Ajouter un commentaire de rétention à l'ancien fichier
Créer le nouveau fichier au nouvel emplacement
OneSignalSDKWorker.js (ou votre nom de fichier choisi) dans le nouveau répertoire avec :Mettre à jour la configuration OneSignal
Attendre que les abonnés migrent
Nettoyage
Questions fréquentes
Ce guide s’applique-t-il à WordPress ?
Non. Le plugin WordPress héberge et enregistreOneSignalSDKWorker.js dans son répertoire sdk_files. Ne téléversez pas de worker à la racine du site et ne définissez pas serviceWorkerPath dans le code. Consultez Configuration WordPress.
Comment définir le chemin du service worker pour le Site typique vs le Code personnalisé ?
Le Web SDK rechercheOneSignalSDKWorker.js à la racine de votre site sauf si vous définissez un chemin personnalisé. Le Site typique définit ce chemin dans le tableau de bord sous Customize service worker paths and filenames. Le Code personnalisé le définit dans le code avec serviceWorkerPath et serviceWorkerParam dans OneSignal.init(). Les champs de chemin du tableau de bord ne s’appliquent pas au Code personnalisé. Consultez Indiquer au SDK où trouver le fichier.
Pourquoi mon service worker retourne-t-il un 404 ?
Le fichier n’est pas à l’URL attendue par le SDK. Accédez à l’URL complète du fichier dans votre navigateur pour confirmer qu’il est accessible. Si vous avez placé le fichier dans un sous-répertoire, le chemin configuré doit correspondre à l’emplacement réel du fichier, y compris le répertoire et le nom de fichier. Site typique : vérifiez les paramètres de chemin du tableau de bord. Code personnalisé : vérifiezserviceWorkerPath dans OneSignal.init().
Pourquoi les notifications ne s’affichent-elles plus après avoir déplacé le fichier service worker ?
Les abonnés existants référencent toujours l’ancienne URL du service worker. Le navigateur récupère l’URL enregistrée (mise en cache jusqu’à 24 heures) à chaque fois qu’un push arrive. Si l’ancienne URL retourne un 404, ces abonnés ne reçoivent pas les notifications. Continuez à héberger l’ancien fichier pendant au moins un an pendant que les abonnés migrent naturellement en revisitant votre site. Consultez le guide de migration et le guide Notifications push web non affichées.Puis-je héberger le service worker sur un CDN ou un sous-domaine ?
Non. Les navigateurs exigent que les service workers soient servis depuis la même origine que la page qui les enregistre. Le fichier doit être sur votre domaine principal — pas un CDN, un sous-domaine ou un domaine différent.Pourquoi ma PWA entre-t-elle en conflit avec le OneSignal service worker ?
Les deux sont probablement enregistrés à la portée racine (/) et un seul service worker peut être actif à une portée donnée. Déplacez le OneSignal service worker vers une portée de sous-répertoire (p. ex., /push/onesignal/) pour que votre PWA conserve le contrôle de la portée racine, ou combinez-les comme décrit dans Combiner plusieurs service workers.
Puis-je renommer le fichier OneSignalSDKWorker.js ?
Oui. Si votre serveur nécessite une convention de nommage spécifique (p. ex., tout en minuscules), renommez le fichier en quelque chose commeonesignalsdkworker.js. Site typique : mettez à jour le champ Service worker filename dans le tableau de bord. Code personnalisé : mettez à jour serviceWorkerPath dans votre appel OneSignal.init(). Consultez Indiquer au SDK où trouver le fichier.
Quel type de contenu mon serveur doit-il retourner pour le fichier service worker ?
Le serveur doit retournerContent-Type: application/javascript; charset=utf-8. Certaines configurations de serveur ou CDN retournent un type MIME incorrect, ce qui amène le navigateur à rejeter l’enregistrement du service worker.