Skip to main content

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

StagePurposeConfiguration
Consent GateBlocks or allows event processing based on SetConsent()Consent.Granted, Consent.Denied, Consent.Unknown
ValidatorChecks required fields, data types, string lengthsReturns GR_ERR_INVALID_ARGS (-2) on failure
EnricherAdds platform, device ID, IDFA/GAID, SDK versionAutomatic — no configuration needed
RedactorRemoves PII (IP, advertising IDs) when consent is deniedControlled by consent state
BatcherGroups events into batches by size or timeBatchSizeBytes (default: 65536), BatchMaxEvents (default: 100), FlushIntervalMs (default: 30000)
TransportHTTP POST to the ingestion endpointTransportType: HTTP (default), configurable

Batching Behavior

Events are flushed when any of these conditions is met:

  1. Batch reaches BatchMaxEvents (default: 100 events)
  2. Batch reaches BatchSizeBytes (default: 64 KB)
  3. FlushIntervalMs timer fires (default: 30 seconds)
  4. GameRebellion.Flush() is called manually
  5. GameRebellion.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
└──────────────┘