Data Pipeline
Events travel through a multi-stage pipeline from your game to the analytics dashboards. Understanding this pipeline helps you debug delivery issues and optimize event volume.
Client-Side Pipeline (SDK)
Your Game Code
│
▼
┌─────────────┐
│ Consent Gate │ ← Checks user consent before processing
├─────────────┤
│ Validator │ ← Validates required fields, returns error codes
├─────────────┤
│ Enricher │ ← Adds device info, timestamps, identifiers
├─────────────┤
│ Redactor │ ← Strips PII when consent is denied
├─────────────┤
│ Batcher │ ← Batches events for network efficiency
├─────────────┤
│ Transport │ ← Sends batches to the ingestion API
└─────────────┘
Stage Details
| Stage | Purpose | Configuration |
|---|---|---|
| Consent Gate | Blocks or allows event processing based on SetConsent() | Consent.Granted, Consent.Denied, Consent.Unknown |
| Validator | Checks required fields, data types, string lengths | Returns GR_ERR_INVALID_ARGS (-2) on failure |
| Enricher | Adds platform, device ID, IDFA/GAID, SDK version | Automatic — no configuration needed |
| Redactor | Removes PII (IP, advertising IDs) when consent is denied | Controlled by consent state |
| Batcher | Groups events into batches by size or time | BatchSizeBytes (default: 65536), BatchMaxEvents (default: 100), FlushIntervalMs (default: 30000) |
| Transport | HTTP POST to the ingestion endpoint | TransportType: HTTP (default), configurable |
Batching Behavior
Events are flushed when any of these conditions is met:
- Batch reaches
BatchMaxEvents(default: 100 events) - Batch reaches
BatchSizeBytes(default: 64 KB) FlushIntervalMstimer fires (default: 30 seconds)GameRebellion.Flush()is called manuallyGameRebellion.Shutdown()is called
Server-Side Pipeline
Ingestion API
│
▼
┌──────────────┐
│ API Key Auth │ ← Validates X-API-Key header
├──────────────┤
│ GeoIP Lookup │ ← Resolves IP to country/region
├──────────────┤
│ IP Anonymize │ ← Masks last octet for privacy
├──────────────┤
│ Attribution │ ← Links impression→click→conversion chains
├──────────────┤
│ Storage │ ← Persists to analytics database
├──────────────┤
│ Dashboards │ ← Powers real-time analytics views
└──────────────┘