gamemantra.aigamemantra.ai|Developer Docs

Modules · Telemetry

Telemetry

Game events power every AI model — from offer timing to churn prediction. Send events via GM_OnGameEvent and the SDK batches them automatically.

Standard Event Schema

event_typeWhen to fireRequired fields
session_startGame launch, after GM_Init
player_idsession_id
session_endApp close / background
player_idsession_idduration_s
level_startPlayer enters level
player_idlevel_id
level_completeLevel won
player_idlevel_idduration_sresult
level_failLevel lost / timeout
player_idlevel_idfail_reason
store_openPlayer opens in-game store
player_idsession_id
offer_shownAuto-fired by SDK
offer_id
offer_acceptedAuto-fired by SDK
offer_idplayer_id
offer_declinedAuto-fired by SDK
offer_idplayer_id

Sending Events

Events are batched (50 events or 30s) and flushed toPOST /v1/sdk/events/batchautomatically. Use GM_OnGameEvent for all standard events.

GM_OnGameEvent
// Send a game event to the AI pipeline
GM_OnGameEvent(
  game_id,
  "session_start",
  R"({
    "player_id":  "player_001",
    "session_id": "sess-uuid",
    "platform":   "android",
    "sdk_version": "1.0.0"
  })"
);

// Other events follow the same pattern:
GM_OnGameEvent(game_id, "level_complete", R"({
  "player_id": "player_001",
  "level_id":  "world_2_boss",
  "duration_s": 142,
  "result":    "win"
})");

GM_OnGameEvent(game_id, "level_fail", R"({
  "player_id":  "player_001",
  "level_id":   "world_2_boss",
  "fail_reason": "timeout"
})");

Single Event (Immediate)

For critical lifecycle events that must not be lost in a buffer. Use sparingly.

GM_SendSingleEvent
// Single event (bypasses batch buffer — use sparingly)
// Only for critical events: session_start, app_background
GM_SendSingleEvent(game_id, R"({
  "event_id":   "uuid-v4",
  "event_type": "app_background",
  "player_id":  "player_001",
  "client_ts":  "2026-03-27T10:00:00Z"
})");

How events drive the AI

M04 Show/No-Show

Uses level_fail + session depth to decide if player should see an offer

M09 Segmentation

Batches over 4h windows of level / purchase events to assign segment

M10 Churn Risk

Daily model on session_end + level_fail streaks