angular / angular/angularfire

Analytics: When using ScreenTrackingService the average engagement time is calculated the wrong way

Abierto
#3,214 0 comentarios 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
7.8k
Forks
2.2k
Merge medio
22 h 28 min
PR fusionados (30 d)
6

Descripción

### Version info

**Angular:**
"@angular/animations": "13.1.3",
"@angular/common": "13.1.3",
"@angular/compiler": "13.1.3",
"@angular/core": "13.1.3",
"@angular/forms": "13.1.3",
"@angular/platform-browser": "13.1.3",
"@angular/platform-browser-dynamic": "13.1.3",
"@angular/router": "13.1.3",
"rxjs": "7.4.0",
"tslib": "2.3.1",
"zone.js": "0.11.4",
"typescript": "4.5.5"

**Firebase:**
"firebase": "9.6.7",

**AngularFire:**
"@angular/fire": "7.2.1",

**System:**
NodeJS: v12.20.2
npm: 6.14.11
OS: macOS Monterey (12.2.1)

### How to reproduce these conditions

[Demo example](https://github.com/timkos/test-analytics) (fix firebase config in AppModule)

**Steps to set up and reproduce**
1. provide FirebaseApp and Analytics and add ScreenTrackingService to AppModule:
```
imports: [
BrowserModule,
AppRoutingModule,
provideFirebaseApp(() =>
initializeApp(config)
),
provideAnalytics(() => getAnalytics())
],
providers: [ScreenTrackingService] ```
2. Create two routes `/test` and `/test2`. The route `/test` we will visit and stay on it for a longer time. On the other hand, we will always go to `/test2` just for a short time and then always go back to `/test` route.

**Sample data and security rules**

### Debug output
After some time we can see Average Engagement Times for visited paths (screens) on

Firebase -> Analytics -> Dashboard -> View pages and screens.

To see data for screen names (routes) switch from 'Page title and screen class' to 'Page title and screen name'.

![Screenshot 2022-04-26 at 10 38 58](https://user-images.githubusercontent.com/11668087/165262670-2b051bc9-647c-49a1-b2be-1385a1a8eb97.png)

### Expected behavior
Average Engagement Time of the route `/test` should be much bigger then the one of the `/test2` route.

### Actual behavior
Average Engagement Time of the route `/test` is much smaller then the one of `/test2` route.

It looks like previous engagement time is added to the next visited route (screen). It should be added to the previous route (screen).

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en el registro de ScreenTrackingService en AppModule y reproduce la secuencia de rutas de la demo enlazada, visitando /test y /test2 como se describe. Compara los resultados de interacción con pantallas de Firebase Analytics con la atribución de rutas esperada; se considera terminado cuando la ruta /test, que permanece activa durante más tiempo, informa de un tiempo medio de interacción sustancialmente mayor que /test2.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
angular, firebase, typescript
Área
analytics, frontend
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.