Games I Know logoGames I Know
Embed SpieleDokumentation

Embed API Dokumente

Lerne den embed durch Ausprobieren kennen und verknüpfe dann die Ereignisse.

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üssel
1. Zuerst lernen

Live-Demo: Ereignisse abspielen und untersuchen

Fü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.

2. Schnellstart

Von Null auf funktionierend embed

Verwenden Sie diesen Pfad, wenn Sie bereits wissen, wo das Spiel auf Ihrer Website erscheinen soll.

  1. 1

    Partnerkonto erstellen

    Fügen Sie die Website-Domain hinzu, die iframe hosten soll.

    Gehe zu Schritt
  2. 2

    Installieren Sie die Rahmenroute

    Verwenden Sie /embed/{gameSlug}/frame/ mit Ihrer Mandanten-ID. Verwenden Sie nicht iframe auf der SEO-Landingpage.

    Gehe zu Schritt
  3. 3

    Achten Sie auf Nachrichten der Eltern.

    Filtern Sie nach data.source === "gamesiknow", und behandeln Sie dann GAME_STARTED, GAME_COMPLETED und Gameplay-Ereignisse der Version 1.

    Gehe zu Schritt
  4. 4

    Überprüfen Sie die abgeschlossenen Ergebnisse.

    Senden Sie resultId und signedToken an Ihr Backend, bevor Sie Gutschriften, Belohnungen oder Freischaltungen gewähren.

    Gehe zu Schritt
Starter iframe

Verwenden Sie Ihre tatsächliche Mandanten-ID aus dem Partner-Dashboard.

html
<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>
3. Architektur

Wie embed funktioniert

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

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.

Schritt 2

Embed validiert Mandant und Domäne

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

Embed wird bereit

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

Ein Spieler startet ein Spiel.

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

Gameplay-Events-Stream

Während des Spiels aktualisieren Gameplay-Ereignisse der Version 1, wie z. B. Bewegungs- und Moduswechsel, Ihre Benutzeroberfläche oder interne Analysetools.

Schritt 6

Spiel abgeschlossen mit Gewinnerdaten

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".

4. Installieren

Partner-Setup und iframe-Snippets

Die meisten Integrationen bestehen aus vier Schritten: Domain registrieren, Token generieren, iframe installieren und anschließend auf Start- und Abschlussereignisse achten.

Registrieren Sie jede Website

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.

Generieren Sie ein Domänentoken

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.

Installieren Sie iframe

Kopieren Sie den iframe oder responsiven Wrapper in Ihren CMS-benutzerdefinierten HTML-Block, den Website-Builder-Bereich embed oder Ihre benutzerdefinierte Frontend-Vorlage.

Ereignisse abhören und Ergebnisse überprüfen

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.

Empfohlene iframe-Einstellungen

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.

Normal iframe

Der Spieler wählt den Spieltyp innerhalb des Spiels, wenn das AI-Kontingent verfügbar ist.

html
<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>
Erzwungen AI iframe

Fordert zuerst AI an. Fällt stillschweigend auf PvP zurück, wenn das Kontingent erschöpft ist.

html
<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>
5. Konfiguration

iframe URL-Parameter

Frame-URLs verwenden /embed/{gameSlug}/frame/. SEO-Landingpages ohne Gameplay live unter /embed/{gameSlug}/.

ParameterErforderlichBeschreibung
Mieter-IDJaIhre Partner-Tenant-ID aus dem Partner-Dashboard Games I Know. Wird auch als Partner-ID für ältere Integrationen akzeptiert.
ModusNEINAuf 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-IDNEINOptionales Kampagnenlabel, das in PostMessage-Ereignissen wiederholt und in Partneranalysen für A/B-Tests oder Seitensegmentierung gespeichert wird.
6. Veranstaltungen

postMessage-Ereignisreferenz

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.

Lebenszyklusereignisse

EreignisWenn es feuertFormatSchlüsselfelder
bereitEmbed initialisiert und Konfiguration geladen.Gameplay (Version 1) für alle Spiele oder Flat für einige Lifecycle-Wrapper.matchId, Modus, embedHeight
SPIEL GESTARTETJedes embeddable Spiel (aktuelle und zukünftige). Wird ausgelöst, wenn ein Spiel beginnt (z. B. erster Zug oder AI Rundenstart).Flacher LebenszyklusSpiel, Partner-ID, Kampagnen-ID, Modus, Match-ID (implizit über Gameplay-Stream)
SPIEL ABGESCHLOSSENJedes 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 LebenszyklusErgebnis, Gewinner, Name des Gewinnerspielers, Spieler-ID des Gewinnerspielers, Spieler, Punktzahl, Dauer in Sekunden, Ergebnis-ID, signiertes Token
EMBED_FULLSCREEN_CHANGEDer Spieler schaltet in den Vollbildmodus um: embed Vollbild.Flacher Lebenszykluspayload.active boolean

Gameplay-Ereignisse

Form: { source, game, version: 1, event, payload }

  • bereit - Gleiches gilt für den Lebenszyklus „bereit“ mit Version 1 Envelope.
  • Modusänderung - Der Spieler wählt PvP, AI oder kehrt zur Modusauswahl zurück.
  • bewegen - Es fand ein Spielzug oder eine Aktion statt (Spielfeldfeld, Spielstein fallen gelassen, Bingo-Ruf, Quizfrage beantwortet).
  • zurücksetzen - Brett- oder Rundenreset.
  • rückgängig machen - Letzter Zug rückgängig gemacht (nur Tic Tac Toe).
  • Zustand - Antwort auf den übergeordneten get_state-Befehl (Tic Tac Toe, Four in a Row).

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.

GAME_STARTED Beispiel
json
{
  "source": "gamesiknow",
  "event": "GAME_STARTED",
  "game": "tic-tac-toe",
  "partnerId": "partner_your_tenant",
  "campaignId": "homepage-widget",
  "mode": "ai"
}
GAME_COMPLETED Beispiel
json
{
  "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..."
}

Ergebniswerte

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.

Parent-to-iframe-Befehle

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.

Status zurücksetzen oder anfordern
js
// 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"
);
7. Umsetzung

Beispielintegrationslistener

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.

Einheitlicher Listener für die übergeordnete Seite

Filtern Sie nach Quelle und behandeln Sie GAME_STARTED und GAME_COMPLETED für Gewinner-UI- und Gameplay-Ereignisse während des Spiels.

js
/**
 * 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

  • Zeigt bei GAME_STARTED ein Banner mit der Meldung „Spiel läuft“ an.
  • Zeige den Gewinnernamen aus GAME_COMPLETED.winner oder GAME_COMPLETED.winnerPlayerName an.
  • Leiten Sie resultId und signedToken an Ihr Backend weiter; verifizieren Sie dies mit einem Partnerserverschlüssel, bevor Sie Belohnungen gewähren.
  • Optional können Sie event.origin anhand Ihres Games I Know-Hosts validieren.
8. Sicherheit

Verifizierte Spielergebnisse API

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.

Überprüfen Sie ein signiertes Ergebnis

Nur serverseitig. Verwenden Sie resultId und signedToken aus GAME_COMPLETED mit Authorization: Bearer gik_psk_…

http
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.
Antwort erfolgreich verifizieren
json
{
  "ok": true,
  "resultId": "res_abc123xyz",
  "partnerId": "partner_your_tenant",
  "gameSlug": "tic-tac-toe",
  "outcome": "player_1",
  "score": 100,
  "durationSeconds": 24
}
Beispiel für einen Backend-Reward-Handler

Ihr Backend empfängt Tokens von der übergeordneten Seite, verifiziert diese mit Games I Know und gewährt anschließend die Belohnung.

js
// 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 });
});
9. Analytik

Serverseitige Analyseereignisse

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.

  • embed_geladen - Jedes embeddable Spiel, wenn die Konfiguration validiert wird oder iframe ausgeführt werden darf.
  • Spiel gestartet - Jedes embeddable Spiel, wenn das Gameplay beginnt (automatisch aufgezeichnet durch iframe).
  • Spiel abgeschlossen - Jedes embeddable Spiel, wenn POST /embed/results erfolgreich ist.
  • ai_match_started - Das AI-Kontingent wurde durch POST /embed/ai-matches/start verbraucht.
  • embed_blockiert - Zugriff auf Domäne, Partner oder Spiel verweigert.
Exportieren Sie die Analysedaten in Ihr Backend (Partnerserverschlüssel erforderlich).

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.

http
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.
10. Katalog

Spielfähigkeitsmatrix

Jedes embeddable-Spiel sendet dieselben Kernereignisse. Vergleichen Sie die Zeitabläufe und Zusatzfunktionen der einzelnen Titel unten.

SpielSPIEL GESTARTETFertigstellungssignalUnterzeichnetErzwungenes AIHeightübergeordnete Befehle
Tic Tac ToeErster Zug oder AI StartSPIEL ABGESCHLOSSENJaJa640pxzurücksetzen, Zustand abrufen
Four in a RowErster Zug oder AI StartSPIEL ABGESCHLOSSENJaJa640pxzurücksetzen, Zustand abrufen
BingoÜbereinstimmung beginnt (AI oder PvP)SPIEL ABGESCHLOSSENJaJa640pxNoch keine
I KnowÜbereinstimmung beginnt (AI oder PvP)SPIEL ABGESCHLOSSENJaJa640pxNoch keine
11. Leitfäden

Leitfäden zur Plattform- und Anwendungsfalleinrichtung

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.

Developer frameworks

Framework-specific iframe placement, event listeners, and production notes.

Website builders and CMS

Copy-paste embed guides for no-code and low-code site builders.

Use-case guides

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

12. Unterstützung

Häufig gestellte Fragen

Antworten zu Integrationsdetails, aktueller Spielunterstützung, Befehlen, signierten Ergebnissen und zukünftiger Spielkompatibilität.

Kann ich Spiele in WordPress, Webflow, Wix, Squarespace oder einer benutzerdefinierten Website erstellen?

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.

Was ist der Unterschied zwischen /embed/{gameSlug}/ und /embed/{gameSlug}/frame/?

/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.

Funktionieren Games I Know iframe Spiele auf Mobilgeräten und Desktops?

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.

Wie viel kostet es, embed Games I Know Spiele zu spielen?

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.

Benötige ich ein Partnerkonto oder einen embed-Schlüssel?

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.

Kann jemand meinen iframe-Code kopieren und auf einer anderen Webseite verwenden?

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.

Welche Games I Know Spiele können embedded werden?

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.

Welche postMessage-Ereignisse sendet Games I Know an die übergeordnete Seite?

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".

Kann ich Starts, Abschlüsse, Gewinner und Spielerergebnisse eines embedded Spiels verfolgen?

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).

Welches Abschlussereignis sollte ich für alle Spiele verwenden?

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.

Wie kann ich auf meiner Website embed-Ereignisse von einem iframe abfangen?

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.

Wie kann ich die Spielergebnisse überprüfen, bevor ich Credits, Preise oder Freischaltungen vergebe?

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.

Welche iframe URL-Parameter werden von Games I Know unterstützt?

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.

Kann ich ein embedded Spiel dazu zwingen, im AI Modus zu starten?

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.

Kann ich Befehle an Games I Know und iframe senden?

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.

Produktionscheckliste

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.

Benötigen Sie Hilfe bei der Partnerintegration?

Teilen Sie uns die Website, das CMS und den gewünschten Spielort mit. Wir können Ihre embed-Ereignisverdrahtung mit Ihnen überprüfen.

Kontaktieren Sie den Support.