Préparer le test
Utilisez une application Node.js 18 ou plus récente et un projet LogBrew que vous pouvez lire. Si vous n’avez encore jamais envoyé de télémétrie, commencez par le démarrage rapide. Gardez ce test à l’écart de l’activité de vos clients. Installez les paquets dans le dossier de l’application :LOGBREW_SERVER_API_KEY, hors du dépôt de code. Ne mettez jamais une
clé serveur dans un bundle navigateur. Un jeton d’accès au compte sert à lire
les résultats. Il ne configure pas le SDK.
Définir le sens de chaque événement
Partez d’une question produit. Par exemple : les utilisateurs qui ouvrent la page de paiement valident-ils ensuite leur commande ? Donnez à chaque événement un nom fixe, un déclencheur précis et un seul endroit de l’application qui l’enregistre.
Gardez des noms d’événements stables d’une version à l’autre et d’une langue à
l’autre. Ne construisez pas de noms à partir d’une adresse e-mail, d’un numéro
de commande, d’une URL ou d’un texte saisi par l’utilisateur.
Utilisez des propriétés personnalisées avec un petit ensemble de valeurs
approuvées. Par exemple,
checkout_mode peut valoir guest ou signed_in.
N’ajoutez pas un nouveau nom d’événement pour chaque valeur. N’envoyez pas le
contenu des formulaires.
Enregistrez chaque action métier à un seul endroit. Si le navigateur et le
serveur enregistrent tous deux la même action, les totaux doublent.
Utiliser le bon type d’activité
createProductActionAttributes définit analyticsSchemaVersion: 1 et
analyticsKind: "interaction" dans les métadonnées de l’événement. Son modèle
de route ou son nom d’écran définit analyticsSurface. Utilisez un modèle de
route, comme /orders/:id, et non une URL réelle.
Le nom de l’événement ne définit pas le type. Une interaction nommée
page_view reste une interaction. Les logs, les problèmes et les spans ne sont
pas des événements produit. Pour les autres runtimes,
consultez Intégration du SDK.
Définir l’utilisateur et la session de chaque événement
- Pour un utilisateur connecté, définissez
context.subjectavec un ID stable etkind: "user". - Pour un visiteur anonyme, utilisez un ID distinct avec
kind: "anonymous". - Placez l’ID de session de l’application dans
context.session.id. Réutilisez-le pendant toute la session.
Exécuter l’exemple en local
Enregistrez cet exemple sous le nomproduct-events.mjs. Il enregistre cinq
actions de test réparties entre des visites anonymes, des connexions et deux
utilisateurs. Le client ne contient que le contexte partagé du service et du
déploiement. L’envoi automatique est désactivé pour ce test.
--send. Cette commande n’envoie aucune requête :
previewJson() dans une
application qui contient un vrai contexte client.
Gérer la connexion et la déconnexion
- Avant la connexion, envoyez le sujet anonyme actuel avec chaque événement.
- Après la connexion, envoyez l’ID stable de l’utilisateur avec le
type
user. - À la déconnexion, cessez d’utiliser le contexte de cet utilisateur. Créez un nouveau sujet anonyme selon votre politique de confidentialité.
- Lors d’un changement de compte, utilisez l’ID du nouvel utilisateur.
Envoyer une fois et lire les résultats
Définissez la clé serveur du projet de test dans l’environnement du processus. Exécutez cette commande une seule fois :- Ouvrez Analyses.
- Sous Projet, sélectionnez le projet de test.
- Sous Période, sélectionnez 24 heures.
- Repérez les 3 noms d’événements sous Principaux événements et
/checkoutsous Principales surfaces.
- 5 interactions, toutes avec un contexte de session, sur la surface
/checkout. - 3 événements venant d’utilisateurs et 2 venant de sujets anonymes.
- 2 utilisateurs, 2 sujets anonymes et 4 sessions.
Tester les événements dans votre application
Déplacez les appels de capture dans les gestionnaires de l’application. Gardez pour chaque événement le même sens, le même type et la même règle d’identité. Testez d’abord avec des comptes fictifs.
Un aperçu local teste la capture. Un lot accepté teste l’envoi. Aucun des deux
ne montre que l’appel de capture s’exécute au bon moment dans votre
application.
