Schritt 1
Die übergeordnete Seite lädt iframe
Ihre Website rendert ein iframe, das auf /embed/{gameSlug}/frame/ verweist, mit tenantId und optionalen mode- oder campaignId-Abfrageparametern.
Embed API Dokumente
Beginnen Sie mit der Live-Demo, beobachten Sie die Ereignisse der übergeordneten Seite und kopieren Sie dann die Muster für iframe und die Listener in Ihre Website. Derselbe Ablauf funktioniert für jedes Games I Know iframe-Spiel.
Holen Sie sich einen embed-SchlüsselFühre einen Zug im Tic Tac Toe iframe aus. Das Ereignisprotokoll zeigt GAME_STARTED, Gameplay-Ereignisse und Abschluss-Payloads genau so an, wie sie von der übergeordneten Seite empfangen werden.
Plattformweiter Veranstaltungsvertrag
Games I Know sendet embed-Ereignisse für jedes Spiel auf der Plattform: Tic Tac Toe, Four in a Row, Bingo und I Know (aktuell) sowie für jedes neue embed-fähige Spiel, das wir zukünftig hinzufügen. Sie benötigen keine separate Integration pro Titel. Erstellen Sie einen Listener für die übergeordnete Seite, der auf dem Standardvertrag basiert (Bereit, Spielstart, Gameplay-Ereignisse, Abschluss mit Gewinnerdaten und signierte Ergebnisse) und verwenden Sie diesen für alle aktuellen und zukünftigen embed-Spiele wieder.
Verwenden Sie diesen Pfad, wenn Sie bereits wissen, wo das Spiel auf Ihrer Website erscheinen soll.
Verwenden Sie /embed/{gameSlug}/frame/ mit Ihrer Mandanten-ID. Verwenden Sie nicht iframe auf der SEO-Landingpage.
Gehe zu SchrittFiltern Sie nach data.source === "gamesiknow", und behandeln Sie dann GAME_STARTED, GAME_COMPLETED und Gameplay-Ereignisse der Version 1.
Gehe zu SchrittSenden Sie resultId und signedToken an Ihr Backend, bevor Sie Gutschriften, Belohnungen oder Freischaltungen gewähren.
Gehe zu SchrittVerwenden Sie Ihre tatsächliche Mandanten-ID aus dem Partner-Dashboard.
<iframe
src="https://gamesiknow.com/embed/tic-tac-toe/frame/?tenantId=YOUR_TENANT_ID"
title="Tic Tac Toe by Games I Know"
width="100%"
height="640"
style="border:0;border-radius:16px;max-width:420px;display:block;margin:0 auto;"
loading="lazy"
allow="fullscreen"
referrerpolicy="no-referrer-when-downgrade"
allowfullscreen
></iframe>Ein Games I Know embed ist ein in einer Sandbox ausgeführter iframe in Ihrer Domain. Er validiert Ihren Mandanten und Ihre Domain anhand des API und kommuniziert anschließend über window.postMessage mit Ihrer übergeordneten Seite.
Schritt 1
Ihre Website rendert ein iframe, das auf /embed/{gameSlug}/frame/ verweist, mit tenantId und optionalen mode- oder campaignId-Abfrageparametern.
Schritt 2
Der iframe-Aufruf GET /embed/config (oder /api/embed/config). Games I Know prüft Ihr Partnerkonto, die zulässige Domain, den Spielzugriff und Ihr AI-Kontingent. Ein serverseitiges embed_loaded-Analyseereignis wird protokolliert.
Schritt 3
Der iframe sendet ein Ready-Ereignis an die übergeordnete Seite, sodass Sie einen Ladezustand anzeigen oder die Größe des Frames mithilfe von payload.embedHeight ändern können.
Schritt 4
Sobald ein Spiel beginnt, sendet jedes embeddable Spiel die Meldung GAME_STARTED an die übergeordnete Seite und speichert game_started automatisch serverseitig. Sie rufen keine Analyse-API von Ihrer Website auf.
Schritt 5
Während des Spiels aktualisieren Gameplay-Ereignisse der Version 1, wie z. B. Bewegungs- und Moduswechsel, Ihre Benutzeroberfläche oder interne Analysetools.
Schritt 6
Nach Abschluss sendet jedes embed-fähige Spiel die Nachricht GAME_COMPLETED mit Ergebnis, Gewinner und Spielern an den übergeordneten Server, sodass Ihre Seite die Ergebnisse sofort anzeigen kann. Das iframe-Spiel signiert das Ergebnis ebenfalls per POST /embed/results und fügt bei erfolgreicher Signierung resultId und signedToken in GAME_COMPLETED ein. Ihr Backend kann diese Tokens mit einem Partnerserverschlüssel verifizieren, bevor Belohnungen vergeben werden.
Zwei PostMessage-Formate
Lebenszyklusereignisse Verwende ein flaches Objekt mit event: "GAME_STARTED" or event: "GAME_COMPLETED". Gameplay-Ereignisse Daten einbetten version: 1 mit verschachtelten payload. Immer filtern auf data.source === "gamesiknow".
Die meisten Integrationen bestehen aus vier Schritten: Domain registrieren, Token generieren, iframe installieren und anschließend auf Start- und Abschlussereignisse achten.
Fügen Sie alle Domains hinzu, die Games I Know und embed hosten. Die Domains werden normalisiert, sodass example.com und www.example.com einheitlich behandelt werden.
Erstellen Sie für jede Website ein separates embed-Token. Dies sorgt für übersichtliche Analysedaten und bereitet das Konto auf zukünftige domainbasierte Preisgestaltung vor.
Kopieren Sie den iframe oder responsiven Wrapper in Ihren CMS-benutzerdefinierten HTML-Block, den Website-Builder-Bereich embed oder Ihre benutzerdefinierte Frontend-Vorlage.
Verarbeiten Sie die PostMessage-Ereignisse GAME_STARTED und GAME_COMPLETED auf Ihrer übergeordneten Seite, um den Spielstatus und die Gewinnerdetails anzuzeigen. Überprüfen Sie die signierten Ergebnisse Ihres Backends mit einem Partnerserverschlüssel, bevor Sie Belohnungen vergeben.
Breite
Verwenden Sie 100%, damit embed die Spalte "Verfügbarer Inhalt" ausfüllt.
Höhe
640px ist für die meisten Spiele geeignet. Tic Tac Toe funktioniert auch mit 600px. Verwenden Sie payload.embedHeight aus den Ready-Ereignissen, um die Größe automatisch anzupassen.
Spiele
Verwenden Sie /embed/tic-tac-toe/frame/, /embed/four-in-a-row/frame/, /embed/bingo/frame/, oder /embed/i-know/frame/.
Modus
Lassen Sie den Modus für die Spielerauswahl weg oder übergeben Sie mode=ai, wenn embed zuerst AI anfordern soll.
Der Spieler wählt den Spieltyp innerhalb des Spiels, wenn das AI-Kontingent verfügbar ist.
<iframe
src="https://gamesiknow.com/embed/tic-tac-toe/frame/?tenantId=TENANT_ID"
width="100%"
height="640"
style="border:0;border-radius:16px;max-width:420px;display:block;margin:0 auto;"
allow="fullscreen"
loading="lazy"
title="Tic Tac Toe by Games I Know"
></iframe>Fordert zuerst AI an. Fällt stillschweigend auf PvP zurück, wenn das Kontingent erschöpft ist.
<iframe
src="https://gamesiknow.com/embed/tic-tac-toe/frame/?tenantId=TENANT_ID&mode=ai&campaignId=homepage-widget"
width="100%"
height="640"
style="border:0;border-radius:16px;max-width:420px;display:block;margin:0 auto;"
allow="fullscreen"
loading="lazy"
title="Tic Tac Toe vs AI by Games I Know"
></iframe>Frame-URLs verwenden /embed/{gameSlug}/frame/. SEO-Landingpages ohne Gameplay live unter /embed/{gameSlug}/.
| Parameter | Erforderlich | Beschreibung |
|---|---|---|
| Mieter-ID | Ja | Ihre Partner-Tenant-ID aus dem Partner-Dashboard Games I Know. Wird auch als Partner-ID für ältere Integrationen akzeptiert. |
| Modus | NEIN | Auf KI setzen, um den AI-Modus zu erzwingen. Serverseitige Quoten- und Domänenregeln gelten weiterhin. Falls AI nicht verfügbar ist, wird auf Spieler gegen Spieler zurückgegriffen. |
| Kampagnen-ID | NEIN | Optionales Kampagnenlabel, das in PostMessage-Ereignissen wiederholt und in Partneranalysen für A/B-Tests oder Seitensegmentierung gespeichert wird. |
Der gleiche Vertrag gilt für die Versionen Tic Tac Toe, Four in a Row, Bingo, I Know und die kommenden embed-Versionen.
Regel 1
Filterquelle
Ignoriere Meldungen, es sei denn, data.source ist gamesiknow.
Regel 2
Lebenszyklus handhaben
Verwenden Sie GAME_STARTED und GAME_COMPLETED für Spielstatus, Gewinnernamen und Ergebnis.
Regel 3
Jetzt Prämien sichern!
Leiten Sie resultId und signedToken an Ihr Backend weiter, bevor Sie die Belohnungen gewähren.
| Ereignis | Wenn es feuert | Format | Schlüsselfelder |
|---|---|---|---|
| bereit | Embed initialisiert und Konfiguration geladen. | Gameplay (Version 1) für alle Spiele oder Flat für einige Lifecycle-Wrapper. | matchId, Modus, embedHeight |
| SPIEL GESTARTET | Jedes embeddable Spiel (aktuelle und zukünftige). Wird ausgelöst, wenn ein Spiel beginnt (z. B. erster Zug oder AI Rundenstart). | Flacher Lebenszyklus | Spiel, Partner-ID, Kampagnen-ID, Modus, Match-ID (implizit über Gameplay-Stream) |
| SPIEL ABGESCHLOSSEN | Jedes embeddable-Spiel wird nach Spielende protokolliert. Es enthält Ergebnis, Gewinner, Gewinnername und Spielernamen, sodass die übergeordnete Seite die Ergebnisse sofort anzeigen kann. Außerdem werden Ergebnis-ID und signiertes Token bei erfolgreicher serverseitiger Signierung übermittelt. | Flacher Lebenszyklus | Ergebnis, Gewinner, Name des Gewinnerspielers, Spieler-ID des Gewinnerspielers, Spieler, Punktzahl, Dauer in Sekunden, Ergebnis-ID, signiertes Token |
| EMBED_FULLSCREEN_CHANGE | Der Spieler schaltet in den Vollbildmodus um: embed Vollbild. | Flacher Lebenszyklus | payload.active boolean |
Form: { source, game, version: 1, event, payload }
Jeder embeddable Spielbeitrag GAME_COMPLETED an den Elternteil mit outcome, winner, Und players wenn ein Spiel endet. Wenn die Unterschrift erfolgreich war. GAME_COMPLETED beinhaltet auch resultId Und signedToken zur Backend-Verifizierung.
{
"source": "gamesiknow",
"event": "GAME_STARTED",
"game": "tic-tac-toe",
"partnerId": "partner_your_tenant",
"campaignId": "homepage-widget",
"mode": "ai"
}{
"source": "gamesiknow",
"event": "GAME_COMPLETED",
"game": "tic-tac-toe",
"resultId": "res_abc123xyz",
"partnerId": "partner_your_tenant",
"campaignId": "homepage-widget",
"status": "completed",
"outcome": "player_1",
"score": 100,
"durationSeconds": 24,
"winnerPlayerId": "player_1",
"winnerPlayerName": "Player X",
"winner": {
"playerId": "player_1",
"participant": "player_1",
"type": "human",
"label": "Player 1",
"name": "Player X",
"score": 100
},
"players": [
{
"playerId": "player_1",
"participant": "player_1",
"type": "human",
"label": "Player 1",
"name": "Player X",
"score": 100,
"status": "winner"
},
{
"playerId": "player_2",
"participant": "ai_bot",
"type": "ai",
"label": "AI BOT",
"name": "AI Bot",
"score": 60,
"status": "lost"
}
],
"signedToken": "eyJ..."
}Spieler_1
Der erste menschliche Spieler hat gewonnen.
Spieler_2
Der zweite menschliche Spieler hat gewonnen.
KI-Bot
AI Gegner hat gewonnen.
ziehen
Kein Gewinner.
Wird nur von Tic Tac Toe und Four in a Row unterstützt. Verwenden Sie für das iframe contentWindow den Spiel-Slug und die Aktion.
// Parent page -> iframe (Tic Tac Toe or Four in a Row)
const iframe = document.querySelector("iframe");
iframe.contentWindow.postMessage(
{ game: "tic-tac-toe", action: "reset" },
"https://gamesiknow.com"
);
iframe.contentWindow.postMessage(
{ game: "tic-tac-toe", action: "get_state" },
"https://gamesiknow.com"
);Kopieren Sie diesen Listener auf die Seite, die Ihre iframe-Datei hostet. Er verarbeitet den Bereitschaftsstatus, den Spielstart, Gameplay-Ereignisse, signierte Spielabschlüsse und Vollbildwechsel.
Filtern Sie nach Quelle und behandeln Sie GAME_STARTED und GAME_COMPLETED für Gewinner-UI- und Gameplay-Ereignisse während des Spiels.
/**
* Games I Know embed listener (parent page)
* Handles lifecycle events (GAME_STARTED, GAME_COMPLETED) and
* version 1 gameplay events (move, mode_change, ...).
*/
const TRUSTED_ORIGIN = "https://gamesiknow.com"; // or your self-hosted origin
window.addEventListener("message", (event) => {
if (TRUSTED_ORIGIN !== "*" && event.origin !== TRUSTED_ORIGIN) return;
const data = event.data;
if (!data || data.source !== "gamesiknow") return;
// --- Lifecycle events (flat top-level event name) ---
if (data.event === "GAME_STARTED") {
console.log("Match started", {
game: data.game,
mode: data.mode,
partnerId: data.partnerId,
campaignId: data.campaignId,
});
return;
}
if (data.event === "GAME_COMPLETED") {
const winnerLabel = data.winner?.name ?? data.winnerPlayerName ?? null;
console.log("Match completed", {
game: data.game,
outcome: data.outcome, // player_1 | player_2 | ai_bot | draw
winner: data.winner,
winnerName: winnerLabel,
players: data.players,
});
if (winnerLabel) {
document.getElementById("game-winner")!.textContent = `${winnerLabel} won!`;
} else if (data.outcome === "draw") {
document.getElementById("game-winner")!.textContent = "Draw";
}
// For rewards: send resultId + signedToken to YOUR backend (never call verify from the browser)
if (data.resultId && data.signedToken) {
fetch("/api/reward-winner", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
resultId: data.resultId,
signedToken: data.signedToken,
userId: currentUserId,
}),
});
}
return;
}
if (data.event === "EMBED_FULLSCREEN_CHANGE") {
document.body.classList.toggle("embed-fullscreen-active", Boolean(data.payload?.active));
return;
}
// --- Gameplay events (version 1 envelope) ---
if (data.version === 1 && typeof data.event === "string") {
switch (data.event) {
case "ready":
resizeEmbed(data.payload?.embedHeight);
break;
case "mode_change":
console.log("Mode changed", data.payload?.mode);
break;
case "move":
console.log("Move", data.payload);
break;
default:
console.log("Gameplay event", data.event, data.payload);
}
}
});
function resizeEmbed(height) {
const iframe = document.querySelector('iframe[src*="/embed/"]');
if (iframe && typeof height === "number") iframe.style.height = `${height}px`;
}Integrations-Checkliste
Verwenden Sie GAME_COMPLETED auf der übergeordneten Seite, um den Gewinner anzuzeigen. Überprüfen Sie die signierten Ergebnisse Ihres Backends mit einem Partnerserverschlüssel, um Belohnungen zu erhalten – rufen Sie niemals die Überprüfung API über den Browser JavaScript auf.
Nur serverseitig. Verwenden Sie resultId und signedToken aus GAME_COMPLETED mit Authorization: Bearer gik_psk_…
POST https://api.gamesiknow.com/embed/results/verify
Authorization: Bearer gik_psk_your_secret_key
Content-Type: application/json
{
"resultId": "res_abc123xyz",
"signedToken": "signed_token_from_game_completed"
}
Call from your backend server only. The partner server key must belong to the same tenant as the signed result. Browser requests are rejected.{
"ok": true,
"resultId": "res_abc123xyz",
"partnerId": "partner_your_tenant",
"gameSlug": "tic-tac-toe",
"outcome": "player_1",
"score": 100,
"durationSeconds": 24
}Ihr Backend empfängt Tokens von der übergeordneten Seite, verifiziert diese mit Games I Know und gewährt anschließend die Belohnung.
// Example: Node.js / Express handler on YOUR server
app.post("/api/reward-winner", async (req, res) => {
const { resultId, signedToken, userId } = req.body;
const verify = await fetch("https://api.gamesiknow.com/embed/results/verify", {
method: "POST",
headers: {
"content-type": "application/json",
authorization: `Bearer ${process.env.GAMESIKNOW_PARTNER_SERVER_KEY}`,
},
body: JSON.stringify({ resultId, signedToken }),
});
if (!verify.ok) return res.status(403).json({ error: "Invalid result" });
const result = await verify.json();
if (result.outcome !== "player_1") {
return res.status(400).json({ error: "Player did not win" });
}
await grantReward(userId, result);
return res.json({ ok: true });
});Games I Know zeichnet diese Ereignisse automatisch auf, sobald iframe geladen wird und Spieler interagieren. Sie werden in Ihrem Partner-Dashboard angezeigt. Um dieselben Daten in Ihre eigene Datenbank zu übernehmen, erstellen Sie auf der Installationsseite einen Partner-Serverschlüssel und rufen Sie GET /partners/analytics ausschließlich von Ihrem Backend-Server aus auf.
Generieren Sie einen Partnerserverschlüssel im Partner-Dashboard unter „Installieren“. Speichern Sie ihn als Servergeheimnis. Verwenden Sie die unten stehenden Abfrageparameter, um den Export zu filtern.
GET https://api.gamesiknow.com/partners/analytics
Autorisierung: Bearer gik_psk_Ihr_Geheimschlüssel
Optionale Abfrageparameter:
domain Registrierter Website-Hostname (example.com)
campaignId Wert aus Ihrem iframe-Parameter campaignId
gameSlug tic-tac-toe | four-in-a-row | bingo | i-know
from Startdatum in UTC (JJJJ-MM-TT)
to Enddatum in UTC (JJJJ-MM-TT)
Beispiel:
/partners/analytics?domain=www.example.com&gameSlug=tic-tac-toe&from=2026-05-01&to=2026-05-31
Nur von Ihrem Backend-Server aufrufen. Geben Sie Ihren Partner-Serverschlüssel niemals im Browser JavaScript preis.Jedes embeddable-Spiel sendet dieselben Kernereignisse. Vergleichen Sie die Zeitabläufe und Zusatzfunktionen der einzelnen Titel unten.
| Spiel | SPIEL GESTARTET | Fertigstellungssignal | Unterzeichnet | Erzwungenes AI | Height | übergeordnete Befehle |
|---|---|---|---|---|---|---|
| Tic Tac Toe | Erster Zug oder AI Start | SPIEL ABGESCHLOSSEN | Ja | Ja | 640px | zurücksetzen, Zustand abrufen |
| Four in a Row | Erster Zug oder AI Start | SPIEL ABGESCHLOSSEN | Ja | Ja | 640px | zurücksetzen, Zustand abrufen |
| Bingo | Übereinstimmung beginnt (AI oder PvP) | SPIEL ABGESCHLOSSEN | Ja | Ja | 640px | Noch keine |
| I Know | Übereinstimmung beginnt (AI oder PvP) | SPIEL ABGESCHLOSSEN | Ja | Ja | 640px | Noch keine |
Diese Seite dient als technische Referenz. Nutzen Sie diese Anleitungen, wenn Sie plattformspezifische Installationsschritte oder Hinweise zur vertikalen Platzierung benötigen. Alle Anleitungen verwenden dasselbe iframe- und Ereignismodell, das oben beschrieben ist.
Framework-specific iframe placement, event listeners, and production notes.
Copy-paste embed guides for no-code and low-code site builders.
Placement and UX recommendations for common website types.
Suchen Sie nach allgemeinen Übersichtsseiten wie z. B. zu Spielen, HTML5-Widgets oder kostenlosen Spielen? Alle anzeigen embed Anleitungen auf dem HubDie
Antworten zu Integrationsdetails, aktueller Spielunterstützung, Befehlen, signierten Ergebnissen und zukünftiger Spielkompatibilität.
Ja. Games I Know und embed verwenden Standard-HTML (iframe) und funktionieren daher in WordPress-Blöcken (benutzerdefinierte HTML-Blöcke), Webflow-Elementen (embed), benutzerdefinierten Codebereichen von Wix und Squarespace, statischem HTML, React, Next.js und anderen benutzerdefinierten Websites. Registrieren Sie zunächst die Website-Domain in Ihrem Partner-Dashboard und fügen Sie anschließend den generierten Frame-Snippet in die Seite ein, auf der das Spiel erscheinen soll.
/embed/{gameSlug}/ ist die öffentliche Startseite für das Spiel embed. /embed/{gameSlug}/frame/ ist die iframe-Laufzeitumgebung, die in Ihre Website eingebunden werden muss. Verwenden Sie im iframe-Code immer die URL /frame/, da diese das spielbare Spiel lädt, Ihren Mandanten und Ihre Domain validiert und Ereignisse der übergeordneten Seite sendet.
Ja. Games I Know und iframe Spiele sind für Mobilgeräte, Tablets, Laptops und Desktop-Browser optimiert. Verwenden Sie für die meisten embed eine Breite von 100 % und eine empfohlene Höhe von ca. 640 Pixeln. Sie können auch auf das „ready“-Ereignis reagieren und `payload.embedHeight` verwenden, wenn die übergeordnete Seite die Größe des iframe automatisch anpassen soll.
Games I Know, iframe und embed sind während der Beta-Phase kostenlos. Für die Teilnahme ist keine Kreditkarte erforderlich, und die aktuelle Beta-Version von embed ist werbefrei. Erstellen Sie ein kostenloses Partnerkonto, registrieren Sie Ihre Domain und generieren Sie den iframe-Codeausschnitt im Dashboard.
Ja. Ein Partnerkonto stellt Ihnen eine Mandanten-ID und einen domänenbeschränkten iframe-Snippet zur Verfügung. Der iframe-Snippet sendet die Mandanten-ID zusammen mit der Frame-URL, sodass Games I Know den Partner, die zulässige Domain, den Spielzugriff, das AI-Kontingent, die Analysekampagne und den Ergebnisverifizierungsprozess validieren kann.
Der Code embed ist domainbeschränkt. Wenn jemand Ihren iframe-Codeausschnitt auf einer nicht autorisierten Website kopiert, prüft Games I Know den Ursprung der Anfrage anhand der für Ihr Partnerkonto konfigurierten Domains und blockiert die nicht genehmigte Nutzung. Verwenden Sie separate Kampagnen-IDs, wenn Sie übersichtlichere Analysen pro Website oder Kampagne wünschen.
Tic Tac Toe, Four in a Row, Bingo und I Know unterstützen heute iframe und embed. Jedes Spiel sendet den standardmäßigen embed-Ereignisvertrag für den Bereitschaftsstatus, Spielstart, Spielverlauf, Abschluss, Gewinnerdaten, Analysen und Ergebnisverifizierung. Es wird erwartet, dass neue embed-fähige Spiele demselben Ereignismuster folgen, sodass Partner ihre Integration nicht neu entwickeln müssen.
Jedes embeddable-Spiel verwendet zwei PostMessage-Formate. Lebenszyklusereignisse haben eine flache Struktur mit der Quelle „gamesiknow“ und Ereigniswerten wie „ready“, „GAME_STARTED“, „GAME_COMPLETED“ und „EMBED_FULLSCREEN_CHANGE“. Gameplay-Ereignisse verwenden die Version „1“ mit verschachtelten Ereignisnamen wie „ready“, „mode_change“, „move“, „reset“, „undo“ und „state“. Filtern Sie immer nach „data.source === "gamesiknow".
Ja. Beim Spielbeginn wird auf GAME_STARTED geachtet, während des Spiels werden Gameplay-Ereignisse wie Bewegungs- und Moduswechsel genutzt, und GAME_COMPLETED wird beim Spielende verwendet. GAME_COMPLETED enthält Ergebnis, Gewinner, Spieler, Punktestand, Spieldauer und Ergebniskennungen, sofern dies möglich ist. Serverseitige Analysen erfassen außerdem Ladezeiten, Spielstarts, Spielabschlüsse, blockierte Versuche und Klicks auf Handlungsaufforderungen (CTAs).
Verwenden Sie GAME_COMPLETED, wenn ein Spiel beendet ist. Jedes embed-fähige Spiel sendet dieses Lebenszyklusereignis mit Ergebnis, Gewinner, Gewinner-Spielername und Spielern. Wenn GAME_COMPLETED resultId und signedToken enthält, leiten Sie diese an Ihr Backend weiter und rufen Sie POST /embed/results/verify mit Ihrem Partnerserverschlüssel auf, bevor Sie Belohnungen oder Gutschriften gewähren.
Fügen Sie `window.addEventListener("message", handler)` auf der Seite hinzu, die das iframe hostet. Ignorieren Sie im Handler Nachrichten, es sei denn, `event.data.source === "gamesiknow"`. Verzweigen Sie bei Lebenszyklusereignissen auf `event.data.event` und bei Gameplay-Ereignissen auf `event.data.event + event.data.version === 1`. Optional können Sie `event.origin` anhand Ihres zulässigen Games I Know-Ursprungs validieren.
Verwenden Sie GAME_COMPLETED auf der übergeordneten Seite, um den Gewinner sofort anzuzeigen (Ergebnis, Gewinner, Gewinnername, Spieler). Für Belohnungen senden Sie resultId und signedToken von GAME_COMPLETED an Ihr Backend und rufen Sie anschließend POST /embed/results/verify mit Authorization: Bearer gik_psk_… auf. Verwenden Sie dazu einen Partner-Server-Schlüssel aus Ihrem Dashboard. Der Verifizierungs-Endpunkt ist ausschließlich serverseitig – rufen Sie ihn niemals über den Browser JavaScript auf. Belohnungen werden erst nach erfolgreicher Verifizierung gutgeschrieben.
Erforderlich: tenantId (Ihre Partner-Mandanten-ID). Optional: mode=ai, um den erzwungenen AI-Modus anzufordern, sofern das Kontingent dies zulässt, und campaignId zur Segmentierung der Analysen. Frame-URLs folgen dem Muster /embed/{gameSlug}/frame/?tenantId=IHR_MANDANTEN-ID.
Ja. Fügen Sie mode=ai zur iframe-URL hinzu, um zuerst den AI-Modus anzufordern. Serverseitige Kontingent- und Domänenregeln gelten weiterhin, sodass embed auf die Spielerwahl oder den Spieler-gegen-Spieler-Modus zurückgreifen kann, wenn der AI-Modus nicht verfügbar ist oder das Kontingent erschöpft ist.
Tic Tac Toe und Four in a Row akzeptieren übergeordnete Nachrichten, wobei „game“ auf den Spiel-Slug und „action“ auf „reset“ oder „get_state“ gesetzt ist. iframe antwortet mit einem Status-Gameplay-Ereignis. Andere embed-Spiele stellen noch keine übergeordneten Befehle bereit.
Prüfen Sie, ob die Website-Domain aktiv ist, bevor Sie ein Token generieren.
Verwenden Sie für jede Website oder Kampagnengruppe ein separates Token oder eine separate Kampagnen-ID.
Achten Sie auf der übergeordneten Seite auf die Meldungen GAME_STARTED und GAME_COMPLETED.
Die Kennzeichnung Games I Know muss innerhalb von embed sichtbar bleiben.
Überprüfen Sie die signierten Ergebnisse in Ihrem Backend, bevor Sie Preise oder Gutschriften vergeben.
Test erzwingt den AI-Modus und PvP-Fallback, wenn das AI-Kontingent erschöpft ist.
Teilen Sie uns die Website, das CMS und den gewünschten Spielort mit. Wir können Ihre embed-Ereignisverdrahtung mit Ihnen überprüfen.