sxm-agent
v1.0.7
Published
Agent de suivi pour analyser les visites des utilisateurs sur un site web
Maintainers
Readme
Monitoring Agent
Un agent de suivi pour analyser les visites des utilisateurs sur un site web.
Installation
npm install sxm-agentou
yarn add sxm-agentFonctionnalités
- Suivi des sessions utilisateurs (entrée/sortie)
- Détection d'inactivité
- Persistance des sessions entre les chargements de page
- Gestion des événements de visibilité de l'onglet
- Communication via WebSocket pour des mises à jour en temps réel
- Compatible avec des environnements Node.js et navigateur
Utilisation
Importation
// ES Modules
import MonitoringAgent from 'sxm-agent';
// CommonJS
const MonitoringAgent = require('sxm-agent');Mise en place basique
document.addEventListener('DOMContentLoaded', async () => {
const agent = new MonitoringAgent('http://your-api-url.com', 'your-domain.com');
// Démarrage de l'agent
await agent.start();
// Écoute des événements
agent.on('log', message => console.log(message));
agent.on('error', error => console.error(error));
});Configuration avancée
const agent = new MonitoringAgent(
'http://your-api-url.com',
'your-domain.com',
{
// Définir un timeout d'inactivité de 10 minutes
inactivityTimeout: 10 * 60 * 1000,
// Définir un timeout de session de 1 heure
sessionTimeout: 60 * 60 * 1000
}
);
// Démarrage de l'agent
await agent.start();
// Écoute des événements personnalisés
agent.on('entryTracked', data => {
console.log(`Nouvelle entrée enregistrée: ${data.visitId}`);
});
agent.on('exitTracked', data => {
console.log(`Sortie enregistrée: ${data.visitId}`);
});
// Arrêt de l'agent lors de la fermeture de l'application
window.addEventListener('beforeunload', () => {
agent.destroy();
});Événements disponibles
'log'- Journaux informatifs'error'- Erreurs survenues'entryTracked'- Lorsqu'une entrée est enregistrée'exitTracked'- Lorsqu'une sortie est enregistrée'websocketConnected'- État de la connexion WebSocket'newVisit'- Lorsqu'une nouvelle visite est détectée via WebSocket'updateExit'- Lorsqu'une mise à jour de sortie est reçue via WebSocket
Compatibilité
- Navigateurs modernes (Chrome, Firefox, Safari, Edge)
- Node.
