@dexnotify/web abonne le navigateur par le Web Push standard (VAPID), l’enregistre comme appareil, remonte clics, événements et conversions, et affiche les messages in-app. Il fonctionne sur Chrome, Edge, Firefox et Safari (macOS, et iOS 16.4+ pour un site ajouté à l’écran d’accueil). Sans dépendance.
Avant de commencer
- La plateforme Web de l’application configurée dans le dashboard : une paire VAPID (
npx web-push generate-vapid-keys), l’expéditeur (mailto:ouhttps://) et l’origine du site. Voir Notifications push. - Une clé SDK (portée
sdk:device), préréglage « Clé SDK ». Elle est faite pour être publique : elle n’ouvre que les routes de l’appareil. Une clé serveur ne doit jamais aller dans une page. - HTTPS : les service workers l’exigent (
localhostpasse en développement).
Installation
/dexnotify-sw.js. Deux façons :
Initialiser
initialize dans un effet côté client : hors du navigateur, il ne fait rien. Aucune méthode ne rejette : les échecs passent par onError.
Demander l’autorisation
Les navigateurs pénalisent une demande non sollicitée, et Safari comme Firefox exigent un geste de l’utilisateur. Placez-la derrière un bouton :initialize({ requestPermission: true }) demande dès le chargement, à vos risques.
Sur le web, l’appareil naît de l’abonnement : avant l’autorisation, il n’existe pas encore. Les tags posés avant sont gardés et partent à ce moment-là.
Utilisateurs et tags
Événements et conversions
Clics et abonnement
webUrl, sinon deeplink s’il est une adresse https), ou reprend l’onglet du site.
Messages in-app
Les messages in-app publiés s’affichent seuls, selon leurs déclencheurs et leur audience. Ils sont rendus dans un Shadow DOM, que les styles du site n’atteignent pas ; le HTML d’un message tourne dans une iframe isolée, sans accès à la page.initialize({ inAppMessages: false }) les désactive.