Telemetry
The app sends events to POST /wp-json/omobile/v1/telemetry:
json{
"install_id": "uuid",
"events": [
{ "event": "screen_view", "screen": "home", "ts": 1746000000 },
{ "event": "button_tap", "name": "checkout", "ts": 1746000010 }
]
}
Events are stored in omobile_telemetry (raw) and rolled up daily into omobile_telemetry_rollup via a WP-Cron job.
Analytics Dashboard
The Analytics admin tab shows:
| Metric | Source |
|---|---|
| DAU (Daily Active Users) | Distinct install IDs per day |
| WAU / MAU | 7-day and 30-day rolling windows |
| Retention cohorts | D1/D7/D30 retention by install date |
| Top screens | Most-viewed screens by event count |
| Version distribution | App versions from device table |
| Platform split | iOS vs Android |
Crash Reporting
The app sends crash reports to POST /wp-json/omobile/v1/crashes:
json{
"install_id": "uuid",
"fingerprint": "sha256-of-stack-trace",
"error_class": "NullPointerException",
"message": "Attempt to read field 'user.id' on null",
"stack_trace": "...",
"app_version": "2.3.1",
"os_version": "Android 14"
}
OIntel groups crashes by fingerprint. The Crashes tab shows each unique crash group with occurrence count, affected app versions, and last-seen timestamp. Mark crashes as resolved to clear them from the active count.
