Il modo più semplice per aggiungere il monitoraggio dell'interattività (clic del mouse, pergamene, gesti multi-touch) a un'app Web React già sviluppata?

-4

Contesto: abbiamo un'applicazione web reattiva sviluppata in React.js, che abbiamo utilizzato con successo un paio di volte per eseguire studi utente su Amazon Mechanical Turk . Ora vorremmo aggiungere il monitoraggio dell'interattività a questa app. Concretamente, vogliamo monitorare gli eventi di interazione, che possono essere gesti multi-touch (pizzica, zoom, scorri, tocca, ecc.), Clic del mouse, scorrimento, ecc. Vorremmo tenere traccia di queste cose in tempo reale e salvali nel DB dell'app, che attualmente è un database relazionale (Postgres). Ci sono molte decisioni ingegneristiche da fare, dalla biblioteca (se ce ne sono) da utilizzare per il monitoraggio degli eventi interattivi, la granularità degli eventi (specialmente per eventi come pizzicare, zoomare, scorrere, scorrere che può sparare molte volte al secondo) e anche come inviare in modo efficiente i dati al nostro server e come archiviare tutto nel DB, senza compromettere l'esperienza utente di potenzialmente centinaia di utenti che utilizzano l'app contemporaneamente.

Qualcuno sa come realizzare qualcosa del genere? Qualsiasi aiuto sarà molto apprezzato.

    
posta Pablo Messina 27.10.2018 - 02:45
fonte

1 risposta

0

Non sono sicuro di "più semplice", come so che ci sono diversi pacchetti e soluti off-the-shelf che puoi usare. Ma farlo manualmente non è molto difficile.

Vincola gli eventi javascript alle cose che vuoi registrare e chiedi loro di chiamare una semplice API per registrare i dati.

La parte difficile come dici tu ha a che fare, ad esempio il lento movimento di un mouse sulla pagina. Inviate la posizione ogni 100ms? non impossibile, ma forse più informazioni di quelle che devi inviare.

Penso che l'approccio abituale sia quello di raggruppare i dati per l'invio meno frequente o di raccogliere meno dati. vale a dire solo gli eventi aziendali, l'utente ha fatto clic su acquista, il menu aperto dall'utente ecc.

    
risposta data 27.10.2018 - 14:19
fonte

Leggi altre domande sui tag