Guide d’intégration du SDK Web Push pour boutique Shopify
Présentation
Ce guide explique comment intégrer le SDK Web Push dans une boutique Shopify pour activer les notifications push navigateur.
Prérequis
- Accès administrateur à la boutique Shopify
- Fichiers du SDK Web Push (webSdk.produce.min.3.3.4.js, sw.produce.min.3.3.4.js)
- Connaissances de base en édition de thèmes Shopify
Étapes d’intégration
Ajout via l’éditeur de thème Shopify (recommandé)
1. Envoyer les fichiers SDK dans Shopify
- Se connecter à l’admin Shopify
- Aller dans Boutique en ligne > Thèmes
- Sur le thème actif, cliquer sur Actions puis Modifier le code
- Dans le dossier Ressources, cliquer sur Ajouter une ressource
- Envoyer
webSdk.produce.min.3.3.4.js(fichier principal du SDK) - Envoyer
sw.produce.min.3.3.4.js(fichier Service Worker utilisé pour le push) - Noter les URL des ressources (ex.
{{ 'webSdk.produce.min.3.3.4.js' | asset_url }}et{{ 'sw.produce.min.3.3.4.js' | asset_url }})
Important :
sw.produce.min.3.3.4.jsest le Service Worker qui traite les messages push en arrière-plan. Son chemin doit être correctement configuré à l’initialisation du SDK.
2. Inclure le script SDK et initialiser
- Dans l’éditeur de thème, ouvrir le fichier
theme.liquid - Ajouter le code suivant avant la balise
</head>:
<script>
(function() {
function initializeSDK() {
const visitorId = getFingerprint();
if (typeof window.MTpushInterface !== 'undefined') {
MTpushInterface.mtPush.onDisconnect(function () {
console.log("onDisconnect");
});
MTpushInterface.onMsgReceive((msgData) => {
console.log("Message push reçu:", msgData);
});
MTpushInterface.init({
appkey: "",
user_str: visitorId,
fail(err) {
console.log("Échec init push", err);
},
success(data) {
console.log("Init push réussie", data);
},
webPushcallback(code, tip) {
console.log("Code et message", code, tip);
},
swUrl: '{{ "sw.produce.min.3.3.4.js" | asset_url }}',
});
}
}
window.MTpushInterfaceReady = initializeSDK;
})();
</script>
{{ 'webSdk.produce.min.3.3.4.js' | asset_url | script_tag }}
<script>
(function() {
function initializeSDK() {
const visitorId = getFingerprint();
if (typeof window.MTpushInterface !== 'undefined') {
MTpushInterface.mtPush.onDisconnect(function () {
console.log("onDisconnect");
});
MTpushInterface.onMsgReceive((msgData) => {
console.log("Message push reçu:", msgData);
});
MTpushInterface.init({
appkey: "",
user_str: visitorId,
fail(err) {
console.log("Échec init push", err);
},
success(data) {
console.log("Init push réussie", data);
},
webPushcallback(code, tip) {
console.log("Code et message", code, tip);
},
swUrl: '{{ "sw.produce.min.3.3.4.js" | asset_url }}',
});
}
}
window.MTpushInterfaceReady = initializeSDK;
})();
</script>
{{ 'webSdk.produce.min.3.3.4.js' | asset_url | script_tag }}
Afficher ce bloc de code dans la fenêtre flottante
Vérification
1. Vérifier le chargement du SDK
- Ouvrir une page de la boutique
- Clic droit > Inspecter ou F12
- Dans la console, vérifier les messages de chargement du SDK
- Saisir
window.MTpushInterfacepour confirmer qu’il est défini
2. Tester le push
- La boutique doit être en HTTPS (obligatoire pour le web push)
- Vérifier si le navigateur affiche la demande de permission push (si configurée)
3. Vérifier l’enregistrement du Service Worker
- Ouvrir les outils de développement (F12)
- Onglet Application
- Dans le panneau gauche, Service Workers
- Vérifier que
sw.produce.min.3.3.4.jsest enregistré - En cas d’erreur, consulter la console
Dépannage
Problèmes courants et solutions
Q1 : Le SDK ne se charge pas
- Chemins : Vérifier que
asset_urlest correct - Réseau : Vérifier que les fichiers JS sont bien téléchargés
- Ressources : S’assurer que les fichiers sont accessibles dans les Ressources Shopify
Q2 : Échec de l’initialisation
- Ordre de chargement : Le script SDK doit s’exécuter avant le code d’init
- HTTPS : Le web push ne fonctionne qu’en HTTPS
- Navigateur : Vérifier la prise en charge du web push
- swUrl : Configurer correctement et s’assurer que l’URL du SW est accessible
- Ressources : Confirmer que
sw.produce.min.3.3.4.jsest bien envoyé dans les Ressources
Q4 : Échec de l’enregistrement du Service Worker
- swUrl : Utiliser
{{ 'sw.produce.min.3.3.4.js' | asset_url }}pour l’URL correcte - Accès : Ouvrir l’URL du Service Worker dans le navigateur et vérifier le téléchargement
- Application > Service Workers : Vérifier l’état d’enregistrement
- HTTPS : Les Service Workers nécessitent HTTPS (sauf en localhost)
