Ablauf
1
Monitoring-Credential ausstellen
Ihr Backend ruft
POST /v3/events/sdk-token/ mit Ihrem API-Schlüssel und dem vendor_data des Benutzers auf.2
Vom Gerät aus senden
Die App sendet an
POST /v1/events/ (oder POST /v1/events/batch/) mit dem Header X-Monitoring-Token.3
Regeln laufen wie gewohnt
Das Ereignis wird angereichert, aggregiert und von genau denselben Regeln ausgewertet wie ein serverseitig gesendetes Ereignis.
Credential ausstellen
Zum Ausstellen eines Credentials muss die Ereignisaufnahme für die Anwendung aktiviert sein. Ist sie deaktiviert, antwortet dieser Endpoint mit
403 und {"code": "event_monitoring_disabled"}, statt ein Credential auszustellen, das nie schreiben könnte.Senden
Was der Server durchsetzt
- Subjekt-Bindung. Das Credential ist beim Ausstellen auf ein
vendor_databeschränkt. Einsubject-Block im Request-Body wird überschrieben, sodass ein manipulierter Client nicht in die Zeitleiste eines anderen Benutzers schreiben kann. - Netzwerkkontext. Adresse, User-Agent, accept-language und Origin werden aus der Anfrage abgeleitet. Diese serverseitig ermittelten Werte haben bei der Regelauswertung Vorrang vor jedem Client-Hinweis. Der Nachweis für die Regel hält den Unterschied als Feldquelle fest.
- Kategoriebeschränkung. Ein auf
sessionbeschränktes Credential kann keinpayment-Ereignis senden. Es wird mit400abgelehnt. - Nutzungskontingent. Ein Batch verbraucht eine Nutzung pro Ereignis. Ein Batch mit 500 Ereignissen kann also ein Credential mit 10 Nutzungen nicht als eine einzige Nutzung umgehen.
- Origin-Bindung. Ist
bind_to_origingesetzt, wird eine Anfrage abgelehnt, derenOriginnicht übereinstimmt. Das gilt auch für eine Anfrage ganz ohneOrigin.
Batching
Was bei Rückstau verworfen wird
Wenn Sie Ereignisse verwerfen müssen, verwerfen Sie die kostengünstigen. Diese dürfen verworfen werden:session.page_view · session.sdk_heartbeat · session.sdk_loaded · session.device_seen · session.bot_signal_observed · bonus.promotion_viewed · affiliate.referral_clicked
Diese dagegen müssen zuerst gesendet werden:
alle Ereignisse der Kategorien security, payment, dispute und responsible_gambling sowie gameplay.bet_placed, gameplay.bet_settled und gameplay.p2p_settlement.
Die Listen-Endpoints liefern dieselbe Einstufung pro Ereignis wie is_droppable zurück. Ein Client kann sich also daran orientieren, statt eine fest codierte Kopie zu verwenden.
Header-Kompatibilität
Der kanonische Header istX-Monitoring-Token. X-Transaction-Token wird als vorübergehender Alias akzeptiert, damit eine App, die bereits einen Pfad für Transaktions-Credentials nutzt, schrittweise migrieren kann.
Die passende Lane wählen
Beide Lanes erzeugen identische Ereignisdatensätze und führen identische Regeln aus. Verwenden Sie die Server-Lane immer dann, wenn kein Endbenutzer anwesend ist.
Weiter
Ereignisaufnahme
Das Envelope, Kategorien, Aufbewahrung und Idempotenz.
Regeln für Ereignisse
Frequenz-, Verhältnis-, Sequenz- und Korrelationsregeln.