Skip to content

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

Description

@ErikBjare

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-ratedata/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 (Add Android Downloads and Usage to Statistics #4).
  • Fix the dominant crash: ChromeWatcher.kt:76 NPE (aw-android#176).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions