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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions