ActivityWatch / ActivityWatch/stats

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

Aperta
#17 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
11
Fork
3
Merge medio
3h 36m
PR unite (30g)
1

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.