ActivityWatch / ActivityWatch/stats

Play Console data collection: state, tooling, and what's automatable

Abierto
#17 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
11
Forks
3
Merge medio
3 h 36 min
PR fusionados (30 d)
1

Descripción

Tracking issue for the Play Console data-collection capability that now lives in this repo (`vitals.py`, `android_installs.py`, `collect-play.yml`), what works, and open decisions. Related: #4, aw-android#176.

## Service account
`aw-play-reports@activitywatch-176907.iam.gserviceaccount.com` — key at `~/.config/activitywatch/play-sa.json` (local + Bob's machine); repo secrets `PLAY_SA_JSON` + `PLAY_BUCKET` set.

## ✅ Works — Play Developer Reporting API (vitals + errors)
`vitals.py` works end-to-end; `collect-play.yml` runs it daily:
- `crash-rate` / `anr-rate` → `data/android-crash-rate.csv`, `data/android-anr-rate.csv`
- `errors [--stacktraces]` → top crash/ANR clusters + stacktraces (`errorIssues`/`errorReports`)

Actionable for agents/devs: the current top crash is `ChromeWatcher.onAccessibilityEvent` NPE at `ChromeWatcher.kt:76` (~791 reports).

## ✅ Works — GCS bulk reports (installs)
**Update:** the SA's bucket access finally propagated (well past Google's "up to 24h"), so `android_installs.py` can now list **and** read the `pubsite_prod_rev_…` reports. CI automation via the SA is viable (earlier this was blocked by `403 storage.objects.list`; resolved).

## `installed.csv` metric — the real remaining decision
Access is no longer the blocker; the metric is:
- Manual export used **"Installed audience" (unique users)** — *not present in any bulk report* (installs/acquisition/ratings/crashes/store_performance); Statistics-dashboard-only, no API. **Cannot be automated.**
- Bulk reports offer **"Active Device Installs" (devices, ~10% higher)** — automatable in CI now, matches the chart's "Installed Devices" label.

So: **Installed audience = manual forever**, or **switch to Active Device Installs = full CI automation**.

## Open items
- [ ] Decide `installed.csv` metric (Installed audience manual vs Active Device Installs automated).
- [ ] If switching: skip spurious `0` values from not-yet-finalized recent days (e.g. saw `2026-07-06 = 0` between ~6300 neighbors).
- [ ] "Mobile usage" metric — no programmatic source (#4).
- [ ] Fix the dominant crash: `ChromeWatcher.kt:76` NPE (aw-android#176).

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.