Étape 1
Chargement de la page parente iframe
Votre site affiche un iframe pointant vers /embed/{gameSlug}/frame/ avec tenantId et les paramètres de requête optionnels mode ou campaignId.
Embed API documents
Commencez par la démo en direct, observez les événements de la page parente, puis copiez les modèles iframe et d'écouteurs sur votre site. La même procédure s'applique à tous les jeux Games I Know et iframe.
Obtenez une clé embedEffectuez un mouvement dans Tic Tac Toe iframe. Le journal des événements affiche GAME_STARTED, les événements de jeu et les données de fin de partie exactement comme une page parente les reçoit.
contrat d'événement à l'échelle de la plateforme
Games I Know envoie des événements embed pour chaque jeu de la plateforme : Tic Tac Toe, Four in a Row, Bingo et I Know actuellement, et pour chaque nouveau jeu embeddable ajouté ultérieurement. Une seule intégration par jeu suffit. Créez un écouteur sur la page parente, basé sur le contrat standard (prêt, GAME_STARTED, événements de jeu, fin de partie avec les données du gagnant et résultats signés), et réutilisez-le pour tous les jeux embed actuels et à venir.
Utilisez cette méthode si vous savez déjà où le jeu doit apparaître sur votre site web.
Ajoutez le domaine du site Web qui hébergera iframe.
Passez à l'étape suivanteUtilisez /embed/{gameSlug}/frame/ avec votre identifiant de locataire. Ne iframe pas la page de destination SEO.
Passez à l'étape suivanteFiltrer sur data.source === "gamesiknow", puis gérer les événements de jeu GAME_STARTED, GAME_COMPLETED et version 1.
Passez à l'étape suivanteEnvoyez resultId et signedToken à votre serveur avant d'accorder des crédits, des récompenses ou des déblocages.
Passez à l'étape suivanteUtilisez votre véritable identifiant de locataire (tenantId) depuis le tableau de bord partenaire.
<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>Un Games I Know embed est un iframe isolé sur votre domaine. Il valide votre locataire et votre domaine par rapport au API, puis communique avec votre page parente via window.postMessage.
Étape 1
Votre site affiche un iframe pointant vers /embed/{gameSlug}/frame/ avec tenantId et les paramètres de requête optionnels mode ou campaignId.
Étape 2
Le processus iframe effectue une requête GET vers /embed/config (ou /api/embed/config). Le processus Games I Know vérifie votre compte partenaire, le domaine autorisé, l'accès au jeu et le quota AI. Un événement d'analyse côté serveur embed_loaded est enregistré.
Étape 3
Le iframe envoie un événement prêt à la page parente afin que vous puissiez afficher un état de chargement ou redimensionner le cadre à l'aide de payload.embedHeight.
Étape 4
Au début d'une partie, chaque jeu embeddable envoie un événement GAME_STARTED à la page parente et enregistre automatiquement cet événement côté serveur. Vous n'effectuez aucune analyse API depuis votre site web.
Étape 5
Pendant le match, les événements de jeu de la version 1, tels que les déplacements et les changements de mode, mettent à jour votre interface utilisateur ou vos analyses internes.
Étape 6
Une fois la partie terminée, chaque jeu embeddable envoie GAME_COMPLETED au serveur parent avec le résultat, le gagnant et les joueurs, permettant ainsi à votre page d'afficher les résultats immédiatement. Le jeu iframe signe également le résultat via une requête POST /embed/results et inclut resultId et signedToken dans GAME_COMPLETED en cas de signature réussie. Votre serveur peut vérifier ces jetons avec une clé de serveur partenaire avant d'attribuer les récompenses.
Deux formats de message post
événements du cycle de vie utiliser un objet plat avec event: "GAME_STARTED" or event: "GAME_COMPLETED". Événements de jeu envelopper les données dans version: 1 avec imbriqué payload. Toujours filtrer data.source === "gamesiknow".
La plupart des intégrations se résument à quatre décisions : enregistrer le domaine, générer un jeton, installer iframe, puis écouter les événements de démarrage et de fin.
Ajoutez chaque domaine qui hébergera un Games I Know ou un embed. Les domaines sont normalisés afin que example.com et www.example.com soient traités de manière cohérente.
Créez un jeton embed distinct pour chaque site web. Cela permet de conserver des données analytiques claires et prépare le compte à une future tarification basée sur le domaine.
Copiez le conteneur iframe ou le conteneur réactif dans votre bloc HTML personnalisé CMS, votre zone embed du constructeur de site Web ou votre modèle frontend personnalisé.
Gérez les événements postMessage GAME_STARTED et GAME_COMPLETED sur votre page principale pour afficher l'état du match et les détails du vainqueur. Vérifiez les résultats signés depuis votre serveur avec une clé de serveur partenaire avant d'attribuer les récompenses.
Largeur
Utilisez 100% pour que embed remplisse la colonne de contenu disponible.
Hauteur
640 px pour la plupart des jeux. Tic Tac Toe fonctionne également à 600 px. Utilisez payload.embedHeight à partir des événements ready pour le redimensionnement automatique.
Jeux
Utilisez /embed/tic-tac-toe/frame/, /embed/four-in-a-row/frame/, /embed/bingo/frame/, ou /embed/i-know/frame/.
Mode
Omettez le mode pour le choix du joueur, ou passez mode=ai lorsque vous voulez que embed demande d'abord AI.
Le joueur choisit le type de match dans le jeu lorsque le quota AI est disponible.
<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>Demande d'abord AI. Bascule silencieusement vers PvP lorsque le quota est épuisé.
<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>Les URL de cadre utilisent /embed/{gameSlug}/frame/. Pages de destination SEO sans gameplay en direct sur /embed/{gameSlug}/.
| Paramètre | Requis | Description |
|---|---|---|
| locataireId | Oui | L'identifiant de votre locataire partenaire, disponible sur le tableau de bord partenaire Games I Know, est également accepté comme identifiant de partenaire pour les intégrations existantes. |
| mode | Non | Configurez l'IA pour forcer le mode AI. Les quotas côté serveur et les règles de domaine restent applicables. Bascule en mode joueur contre joueur si AI est indisponible. |
| identifiant de campagne | Non | Libellé de campagne facultatif repris dans les événements postMessage et stocké dans les analyses partenaires pour les tests A/B ou la segmentation au niveau de la page. |
Le même contrat s'applique aux versions Tic Tac Toe, Four in a Row, Bingo, I Know et à venir embed.
Règle 1
Source du filtre
Ignorez les messages sauf si data.source est gamesiknow.
Règle 2
Gérer le cycle de vie
Utilisez GAME_STARTED et GAME_COMPLETED pour l'état du match, le nom du gagnant et le résultat.
Règle 3
Vérifiez pour obtenir des récompenses
Transmettez resultId et signedToken à votre serveur avant d'octroyer les récompenses.
| Événement | Quand il tire | Format | Champs clés |
|---|---|---|---|
| prêt | Embed initialisé et configuration chargée. | Gameplay (version 1) pour tous les jeux, ou plat pour certains wrappers de cycle de vie. | matchId, mode, embedHauteur |
| DÉBUT DU JEU | Chaque partie embeddable (actuelle et future). Se déclenche au début d'une partie (par exemple, au premier coup ou au début du tour AI). | cycle de vie plat | game, PartnerId, CampaignId, mode, matchId (implicite via le flux de jeu) |
| JEU TERMINÉ | Chaque partie embeddable est enregistrée à la fin d'un match. Les résultats incluent le résultat, le vainqueur, son nom et les joueurs, permettant ainsi à la page principale d'afficher les résultats immédiatement. L'identifiant du résultat et le jeton signé sont également inclus en cas de signature côté serveur réussie. | cycle de vie plat | résultat, vainqueur, nom_du_joueur_vainqueur, identifiant_du_joueur_vainqueur, joueurs, score, durée_secondes, identifiant_du_résultat, jeton_signé |
| EMBED_FULLSCREEN_CHANGE | Le joueur bascule en mode plein écran. | cycle de vie plat | payload.active booléen |
Forme: { source, game, version: 1, event, payload }
Chaque publication de jeu embeddable GAME_COMPLETED au parent avec outcome, winner, et players lorsqu'un match se termine. Lorsque la signature réussit, GAME_COMPLETED comprend également resultId et signedToken pour la vérification du système dorsal.
{
"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..."
}joueur_1
Le premier joueur humain a gagné.
joueur_2
Le deuxième joueur humain a gagné.
IA_bot
AI adversaire a gagné.
dessiner
Pas de vainqueur.
Compatible uniquement avec Tic Tac Toe et Four in a Row. Ciblez la fenêtre de contenu iframe avec le slug du jeu et l'action.
// 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"
);Copiez ce gestionnaire d'événements sur la page hébergeant votre iframe. Il gère l'état prêt, le démarrage du jeu, les événements de jeu, la fin de la session signée et les changements de mode plein écran.
Filtrer par source, gérer GAME_STARTED et GAME_COMPLETED pour l'interface utilisateur du vainqueur et les événements de jeu pendant le match.
/**
* 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`;
}Liste de contrôle d'intégration
Utilisez GAME_COMPLETED sur la page principale pour indiquer le gagnant. Pour les récompenses, vérifiez les résultats signés depuis votre serveur avec une clé de serveur partenaire ; n’appelez jamais la fonction de vérification API depuis le navigateur JavaScript.
Côté serveur uniquement. Utilisez resultId et signedToken de GAME_COMPLETED avec l'autorisation : 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
}Votre serveur reçoit des jetons de la page parente, les vérifie avec Games I Know, puis octroie la récompense.
// 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 enregistre automatiquement ces événements lorsque votre iframe se charge et que les joueurs interagissent. Ils apparaissent sur votre tableau de bord partenaire. Pour importer ces mêmes données dans votre propre base de données, créez une clé de serveur partenaire sur la page d'installation et appelez la requête GET /partners/analytics depuis votre serveur backend uniquement.
Générez une clé de serveur partenaire dans le tableau de bord partenaire → Installer. Stockez-la comme secret de serveur. Utilisez les paramètres de requête ci-dessous pour filtrer l'exportation.
GET https://api.gamesiknow.com/partners/analytics
Autorisation : Bearer gik_psk_votre_clé_secrète
Paramètres de requête optionnels :
domaine : Nom d'hôte du site web enregistré (exemple : example.com)
campaignId : Valeur de votre paramètre iframe campaignId
gameSlug : tic-tac-toe | four-in-a-row | bingo | i-know
from : Date de début en UTC (AAAA-MM-JJ)
to : Date de fin en UTC (AAAA-MM-JJ)
Exemple :
/partners/analytics?domain=www.example.com&gameSlug=tic-tac-toe&from=2026-05-01&to=2026-05-31
Appelez uniquement depuis votre serveur backend. Ne divulguez jamais votre clé de serveur partenaire dans le navigateur (JavaScript).Chaque jeu embeddable envoie les mêmes événements principaux. Comparez le timing et les événements supplémentaires de chaque titre ci-dessous.
| Jeu | DÉBUT DU JEU | Signal d'achèvement | Signé | Forcé AI | Height | Commandes parentes |
|---|---|---|---|---|---|---|
| Tic Tac Toe | Premier mouvement ou AI début | JEU TERMINÉ | Oui | Oui | 640px | réinitialiser, obtenir_état |
| Four in a Row | Premier mouvement ou AI début | JEU TERMINÉ | Oui | Oui | 640px | réinitialiser, obtenir_état |
| Bingo | Début du match (AI ou PvP) | JEU TERMINÉ | Oui | Oui | 640px | Aucun pour l'instant |
| I Know | Début du match (AI ou PvP) | JEU TERMINÉ | Oui | Oui | 640px | Aucun pour l'instant |
Cette page constitue la référence technique. Consultez ces guides lorsque vous avez besoin d'instructions d'installation spécifiques à une plateforme ou de conseils sur le positionnement vertical. Tous les guides utilisent le même modèle iframe et le même modèle d'événements que ceux décrits ci-dessus.
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.
Vous recherchez des pages de présentation générale telles que les jeux iframe, les widgets HTML5 ou les jeux embeddable gratuits ? Parcourez tout embed guides sur le hub.
Réponses concernant les détails d'intégration, la prise en charge actuelle des jeux, les commandes, les résultats signés et la compatibilité future avec les jeux.
Oui. Les éléments Games I Know embed utilisent du HTML standard iframe, ils fonctionnent donc dans les blocs HTML personnalisés WordPress, les éléments embed de Webflow, les zones de code personnalisées Wix et Squarespace, le HTML statique, React, Next.js et autres sites personnalisés. Enregistrez d'abord le nom de domaine du site web dans votre tableau de bord partenaire, puis collez l'extrait de code généré dans la page où le jeu doit apparaître.
/embed/{gameSlug}/ est la page d'accueil publique du jeu embed. /embed/{gameSlug}/frame/ est le code d'exécution iframe à intégrer à votre site web. Utilisez toujours l'URL /frame/ dans le code iframe car elle charge le jeu, valide votre locataire et votre domaine, et envoie des événements à la page parente.
Oui. Les jeux Games I Know et iframe sont conçus pour les navigateurs mobiles, tablettes, ordinateurs portables et de bureau. Utilisez une largeur de 100 % et une hauteur recommandée d'environ 640 px pour la plupart des embed. Vous pouvez également écouter l'événement « ready » et utiliser payload.embedHeight si vous souhaitez que la page parente redimensionne automatiquement le iframe.
Les Games I Know, iframe et embed sont gratuits pendant la phase bêta embed. Aucune carte de crédit n'est requise pour commencer, et les embed bêta actuels ne contiennent aucune publicité. Créez un compte partenaire gratuit, enregistrez votre domaine et générez l'extrait iframe depuis le tableau de bord.
Oui. Un compte partenaire vous attribue un ID de locataire et un extrait de code iframe restreint au domaine. Ce dernier transmet l'ID de locataire avec l'URL du cadre afin que Games I Know puisse valider le partenaire, le domaine autorisé, l'accès au jeu, le quota AI, la campagne d'analyse et le flux de vérification des résultats.
Le paramètre embed est soumis à des restrictions de domaine. Si quelqu'un copie votre extrait de code iframe sur un site web non autorisé, Games I Know vérifie l'origine de la requête par rapport aux domaines configurés pour votre compte partenaire et bloque toute utilisation non autorisée. Utilisez des identifiants de campagne distincts pour obtenir des analyses plus précises par site web ou campagne.
Les plateformes Tic Tac Toe, Four in a Row, Bingo et I Know prennent en charge les plateformes iframe et embed dès aujourd'hui. Chaque jeu envoie le contrat d'événement standard embed pour l'état de préparation, le démarrage du jeu, le déroulement, la fin de la partie, les données du gagnant, les analyses et la vérification des résultats. Les nouveaux jeux compatibles avec embed devraient suivre le même modèle d'événement, ce qui évite aux partenaires de devoir reconstruire leur intégration.
Chaque jeu embeddable utilise deux formats de message postMessage. Les événements de cycle de vie utilisent une structure plate avec la source : gamesiknow et des valeurs d'événement telles que ready, GAME_STARTED, GAME_COMPLETED et EMBED_FULLSCREEN_CHANGE. Les événements de gameplay utilisent la version 1 avec des noms d'événements imbriqués tels que ready, mode_change, move, reset, undo et state. Filtrez toujours sur data.source === "gamesiknow".
Oui. Surveillez l'événement GAME_STARTED au début d'une partie, utilisez les événements de jeu tels que les déplacements et les changements de mode pendant la partie, et l'événement GAME_COMPLETED à la fin d'une partie. GAME_COMPLETED inclut le résultat, le vainqueur, les joueurs, le score, la durée et les identifiants de résultat lorsque la signature est disponible. Les analyses côté serveur enregistrent également les chargements, les démarrages, les parties terminées, les tentatives bloquées et les clics sur les appels à l'action.
Utilisez GAME_COMPLETED à la fin d'une partie. Chaque partie embeddable envoie cet événement de cycle de vie avec le résultat, le gagnant, son nom et les joueurs. Si GAME_COMPLETED inclut resultId et signedToken, transmettez-les à votre serveur et effectuez une requête POST /embed/results/verify avec la clé de votre serveur partenaire avant d'attribuer les récompenses ou les crédits.
Ajoutez `window.addEventListener("message", handler)` sur la page hébergeant l'événement `iframe`. Dans le gestionnaire, ignorez les messages sauf si `event.data.source === "gamesiknow"`. Utilisez `event.data.event` pour les événements de cycle de vie, ou `event.data.event + event.data.version === 1` pour les événements de gameplay. Vous pouvez également vérifier l'origine de l'événement par rapport à l'origine autorisée `Games I Know`.
Utilisez GAME_COMPLETED sur la page principale pour afficher immédiatement le gagnant (résultat, gagnant, nom du joueur gagnant, joueurs). Pour les récompenses, envoyez resultId et signedToken depuis GAME_COMPLETED à votre serveur, puis effectuez une requête POST /embed/results/verify avec l'autorisation Bearer gik_psk_… en utilisant une clé de serveur partenaire disponible sur votre tableau de bord. Le point de terminaison de vérification est réservé au serveur ; ne l'appelez jamais depuis un navigateur (JavaScript). Les récompenses ne seront versées qu'après vérification.
Obligatoire : tenantId (l’identifiant de votre locataire partenaire). Facultatif : mode=ai pour forcer le mode AI lorsque le quota le permet, et campaignId pour segmenter les analyses. Les URL des cadres suivent le format /embed/{gameSlug}/frame/?tenantId=VOTRE_ID_DE_LOCATAIRE.
Oui. Ajoutez `mode=ai` à l'URL `iframe` pour demander d'abord le mode `AI`. Les quotas côté serveur et les règles de domaine restent applicables ; ainsi, `embed` peut basculer vers le choix du joueur ou le mode joueur contre joueur si le mode `AI` est indisponible ou si le quota est épuisé.
Les programmes Tic Tac Toe et Four in a Row acceptent les messages parents lorsque le paramètre « game » correspond à l'identifiant du jeu et l'action à « reset » ou « get_state ». Le programme iframe répond par un événement de gameplay d'état. Les autres programmes embed n'exposent pas encore de commandes parentes.
Veuillez vérifier que le domaine du site web est actif avant de générer un jeton.
Utilisez un jeton ou un identifiant de campagne distinct pour chaque site web ou groupe de campagnes.
Surveillez les signaux GAME_STARTED et GAME_COMPLETED sur la page parente.
Gardez la marque Games I Know visible à l'intérieur de embed.
Vérifiez les résultats signés sur votre système avant d'attribuer des prix ou des crédits.
Testez le mode forcé AI et le repli PvP lorsque le quota AI est épuisé.
Veuillez nous indiquer le site web, le CMS et l'emplacement souhaité pour le jeu. Nous pourrons examiner avec vous le câblage de votre événement embed.