angular / angular/angularfire

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

Offen
#3,214 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
7.8k
Forks
2.2k
Ø Merge
22 Std. 28 Min.
Gemergte PRs (30 T.)
6

Beschreibung

### 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).

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne bei der Registrierung von ScreenTrackingService in AppModule und reproduziere die Routensequenz aus der verknüpften Demo, indem du /test und /test2 wie beschrieben besuchst. Vergleiche die Ergebnisse des Screen-Engagements von Firebase Analytics mit der erwarteten Routenzuordnung; abgeschlossen ist die Aufgabe, wenn die länger aktive Route /test eine deutlich höhere durchschnittliche Interaktionszeit als /test2 meldet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, firebase, typescript
Bereich
analytics, frontend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.