Installer Talkieback sur Webflow
Le code va dans le code personnalisé du site, pour être sur toutes les pages. Comptez deux minutes.
Il vous faut l'identifiant de votre app (pk_live_…). Il est sur la page « Installation » de votre app, dans Talkieback.
Étape 1 : Copiez ce code
HTML <script src="https://cdn.talkieback.com/w.js" data-app="pk_live_…" async></script>
Remplacez
pk_live_…par l'identifiant de votre app. Il n'est pas secret : il ne marche qu'aux adresses déclarées dans Talkieback.Étape 2 : Collez-le dans le code du site
Dans Webflow, ouvrez les réglages du site (Site settings), onglet Custom code. Collez le code dans Footer code, puis enregistrez.
Étape 3 : Publiez le site, puis vérifiez
Le code n'est actif qu'après la publication.
Sur la page « Installation » de votre app, dans Talkieback, « Vérifier l'installation » ouvre votre site dans un nouvel onglet et montre en direct ce qui marche. Envoyez ensuite un retour de test.
Pour aller plus loin
Reconnaître vos utilisateurs connectés
Sur les pages où l'utilisateur est connecté, après le code d'installation :
<script> window.talkieback = window.talkieback || []; talkieback.push(['identify', { id: '42', email: 'camille@exemple.fr', name: 'Camille' }, '<hash calculé par le serveur>']); </script>
Le hash se calcule sur votre serveur, avec le secret de l'app : HMAC-SHA256(secret, id). Vos utilisateurs retrouvent alors leurs retours sur tous leurs appareils. Offres Pro et Business. Le calcul pour Node, Python, PHP et Supabase.
Joindre des informations à chaque retour
Ce que vous passez ici arrive avec chaque retour, à côté de la page et de l'appareil.
window.talkieback = window.talkieback || []; talkieback.push(['context', { plan: 'pro', deck: 'axis' }]);
Piloter le bouton depuis votre code
En plus des réglages de l'app sur Talkieback. Les appels passés avant le chargement du script sont gardés et joués ensuite.
window.talkieback = window.talkieback || []; // pas de bouton sur ces pages (début de l'adresse) talkieback.push(['hideOn', ['/paiement', '/admin']]); // ouvrir le panneau depuis votre propre bouton (il s'ouvre contre lui) talkieback.push(['open', { anchor: monBouton }]); // faire revenir le bouton flottant, ou le masquer, sur cet appareil talkieback.push(['show']); talkieback.push(['hide']); // le nombre de réponses non lues, pour une pastille sur votre bouton talkieback.push(['onUnread', function (count) { monBadge.hidden = count === 0; }]); // être prévenu quand l'utilisateur voit une réponse de l'équipe talkieback.push(['onReply', function (reply) { console.log('Réponse vue', reply); }]);
Votre propre bouton, sans le bouton flottant
Dans Réglages › Apparence, « Quand s'affiche-t-il ? » : « Toujours » pendant une bêta ; « Toujours, masquable » pour que vos utilisateurs le glissent sur la croix en bas de l'écran ; « Depuis votre app » en production, où le bouton flottant n'apparaît que quand l'équipe a répondu. Un bouton de votre app ouvre alors le panneau, sans une ligne de JavaScript :
<!-- ouvre le panneau, contre ce bouton --> <button data-talkieback-open>Idée ou bug ?</button> <!-- fait revenir le bouton flottant --> <button data-talkieback-show>Afficher le bouton de retours</button>
Prévenir vos utilisateurs par notification
Un navigateur n'accepte les notifications que d'un service worker de votre domaine. Ajoutez cette ligne à votre service worker, ou créez le fichier /talkieback-sw.js à la racine du site avec cette seule ligne :
importScripts('https://cdn.talkieback.com/sw.js');Sur iPhone, les notifications ne marchent que si le site est installé sur l'écran d'accueil. Sinon, Talkieback propose l'e-mail.
Votre site a une politique de sécurité (CSP)
Ajoutez ces adresses à votre en-tête Content-Security-Policy, à côté de celles qui y sont déjà :
Content-Security-Policy: script-src 'self' https://cdn.talkieback.com; frame-src https://w.talkieback.com; connect-src 'self' https://talkieback.com
Si votre serveur envoie un en-tête Permissions-Policy, laissez le panneau demander le micro :
Permissions-Policy: microphone=(self "https://w.talkieback.com")Une étape bloque ? Écrivez-nous.