चरण 1
पैरेंट पेज लोड हो रहा है iframe
आपकी साइट /embed/{gameSlug}/frame/ की ओर इंगित करने वाला iframe प्रस्तुत करती है, जिसमें tenantId और वैकल्पिक mode या campaignId क्वेरी पैरामीटर होते हैं।
Embed API दस्तावेज़
लाइव डेमो से शुरुआत करें, पैरेंट पेज के इवेंट्स देखें, फिर iframe और लिसनर पैटर्न को अपनी साइट में कॉपी करें। यही प्रक्रिया सभी Games I Know iframe गेम के लिए काम करती है।
embed कुंजी प्राप्त करेंTic Tac Toe iframe में एक गतिविधि करें। इवेंट लॉग में GAME_STARTED, गेमप्ले इवेंट और पूर्णता पेलोड ठीक उसी तरह दिखाई देते हैं जैसे किसी पैरेंट पेज को प्राप्त होते हैं।
प्लेटफ़ॉर्म-व्यापी इवेंट अनुबंध
Games I Know प्लेटफ़ॉर्म पर मौजूद हर गेम के लिए embed इवेंट भेजता है: आज के Tic Tac Toe, Four in a Row, Bingo और I Know के लिए, और भविष्य में जोड़े जाने वाले हर नए embed योग्य गेम के लिए। आपको हर गेम के लिए अलग से इंटीग्रेशन की ज़रूरत नहीं है। स्टैंडर्ड कॉन्ट्रैक्ट (रेडी, GAME_STARTED, गेमप्ले इवेंट, विजेता डेटा के साथ पूरा होना, और हस्ताक्षरित परिणाम) के लिए एक पैरेंट-पेज लिसनर बनाएं और इसे सभी मौजूदा और आने वाले embed गेम्स में इस्तेमाल करें।
इस तरीके का इस्तेमाल तब करें जब आपको पहले से पता हो कि गेम आपकी वेबसाइट पर कहां दिखना चाहिए।
अपने tenantId के साथ /embed/{gameSlug}/frame/ का उपयोग करें। SEO लैंडिंग पेज को iframe न करें।
अगले चरण पर जाएंdata.source === "gamesiknow" पर फ़िल्टर करें, फिर GAME_STARTED, GAME_COMPLETED और version 1 गेमप्ले इवेंट्स को हैंडल करें।
अगले चरण पर जाएंक्रेडिट, पुरस्कार या अनलॉक प्रदान करने से पहले resultId और signedToken को अपने बैकएंड पर भेजें।
अगले चरण पर जाएंपार्टनर डैशबोर्ड से अपना वास्तविक टेनेंट आईडी इस्तेमाल करें।
<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>Games I Know embed आपके डोमेन पर एक सैंडबॉक्स iframe है। यह API के विरुद्ध आपके टेनेंट और डोमेन को मान्य करता है, फिर window.postMessage के माध्यम से आपके पैरेंट पेज से संचार करता है।
चरण 1
आपकी साइट /embed/{gameSlug}/frame/ की ओर इंगित करने वाला iframe प्रस्तुत करती है, जिसमें tenantId और वैकल्पिक mode या campaignId क्वेरी पैरामीटर होते हैं।
चरण 2
iframe GET /embed/config (या /api/embed/config) को कॉल करता है। Games I Know आपके पार्टनर खाते, अनुमत डोमेन, गेम एक्सेस और AI कोटा की जाँच करता है। सर्वर-साइड embed लोडेड एनालिटिक्स इवेंट रिकॉर्ड किया जाता है।
चरण 3
iframe पैरेंट पेज पर रेडी इवेंट पोस्ट करता है ताकि आप लोडिंग स्थिति दिखा सकें या पेलोड.embedहाइट का उपयोग करके फ्रेम का आकार बदल सकें।
चरण 4
गेमप्ले शुरू होने पर, प्रत्येक embed योग्य गेम पैरेंट पेज पर GAME_STARTED पोस्ट करता है और सर्वर-साइड पर स्वचालित रूप से game_started रिकॉर्ड करता है। आप अपनी वेबसाइट से कोई भी एनालिटिक्स API कॉल नहीं करते हैं।
चरण 5
मैच के दौरान, वर्जन 1 के गेमप्ले इवेंट जैसे कि मूव और मोड_चेंज आपके यूआई या आंतरिक एनालिटिक्स को अपडेट करते हैं।
चरण 6
गेम पूरा होने पर, प्रत्येक embed योग्य गेम परिणाम, विजेता और खिलाड़ियों की जानकारी के साथ GAME_COMPLETED फ़ाइल पैरेंट सर्वर को भेजता है, ताकि आपका पेज तुरंत परिणाम दिखा सके। iframe सफल होने पर POST /embed/results के माध्यम से परिणाम को साइन भी करता है और GAME_COMPLETED में resultId और signedToken शामिल करता है। आपका बैकएंड पुरस्कार देने से पहले पार्टनर सर्वर कुंजी के साथ इन टोकन को सत्यापित कर सकता है।
दो पोस्टमैसेज प्रारूप
जीवनचक्र घटनाएँ एक सपाट वस्तु का उपयोग करें event: "GAME_STARTED" or event: "GAME_COMPLETED". गेमप्ले इवेंट्स डेटा को इसमें लपेटें version: 1 नेस्टेड के साथ payload. हमेशा फ़िल्टर चालू रखें data.source === "gamesiknow".
अधिकांश एकीकरण में चार निर्णय शामिल होते हैं: डोमेन को पंजीकृत करना, एक टोकन उत्पन्न करना, iframe को स्थापित करना, और फिर प्रारंभ और पूर्णता घटनाओं के लिए सुनना।
उन सभी डोमेन को जोड़ें जो Games I Know और embed को होस्ट करेंगे। डोमेन को मानकीकृत किया गया है ताकि example.com और www.example.com को एक समान तरीके से संभाला जा सके।
प्रत्येक वेबसाइट के लिए एक अलग embed टोकन बनाएं। इससे एनालिटिक्स साफ-सुथरा रहता है और भविष्य में डोमेन-आधारित मूल्य निर्धारण के लिए खाता तैयार हो जाता है।
iframe या रिस्पॉन्सिव रैपर को अपने CMS कस्टम HTML ब्लॉक, वेबसाइट बिल्डर embed एरिया या कस्टम फ्रंटएंड टेम्प्लेट में कॉपी करें।
मैच की स्थिति और विजेता का विवरण दिखाने के लिए अपने मुख्य पृष्ठ पर GAME_STARTED और GAME_COMPLETED पोस्टमैसेज इवेंट्स को हैंडल करें। पुरस्कार देने से पहले अपने बैकएंड से पार्टनर सर्वर कुंजी का उपयोग करके हस्ताक्षरित परिणामों को सत्यापित करें।
चौड़ाई
100% का उपयोग करें ताकि embed उपलब्ध सामग्री कॉलम को भर दे।
ऊंचाई
अधिकांश गेमों के लिए 640px। Tic Tac Toe 600px पर भी काम करता है। ऑटो-रीसाइज़ करने के लिए रेडी इवेंट्स से payload.embedHeight का उपयोग करें।
खेल
/embed/tic-tac-toe/frame/, /embed/four-in-a-row/frame/, /embed/bingo/frame/, या /embed/i-know/frame/ का उपयोग करें।
तरीका
खिलाड़ी की पसंद के लिए मोड को छोड़ दें, या जब आप चाहते हैं कि embed पहले AI का अनुरोध करे तो mode=ai पास करें।
जब AI कोटा उपलब्ध होता है, तो खिलाड़ी खेल के अंदर मैच का प्रकार चुनता है।
<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>यह पहले AI के लिए अनुरोध करता है। कोटा समाप्त होने पर यह चुपचाप PvP पर वापस आ जाता है।
<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>फ़्रेम URL /embed/{gameSlug}/frame/ का उपयोग करते हैं। गेमप्ले के बिना SEO लैंडिंग पृष्ठ /embed/{gameSlug}/ पर लाइव होते हैं।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
| किरायेदार आईडी | हाँ | Games I Know पार्टनर डैशबोर्ड से आपकी पार्टनर टेनेंट आईडी। पुरानी एकीकरण प्रणालियों के लिए इसे पार्टनर आईडी के रूप में भी स्वीकार किया जाता है। |
| तरीका | नहीं | अनुरोध को अनिवार्य रूप से AI मोड पर सेट करने के लिए ai को सेट करें। सर्वर-साइड कोटा और डोमेन नियम अभी भी लागू होते हैं। AI अनुपलब्ध होने पर प्लेयर बनाम प्लेयर मोड पर वापस आ जाता है। |
| अभियान आईडी | नहीं | वैकल्पिक कैंपेन लेबल पोस्टमैसेज इवेंट्स में प्रतिध्वनित होता है और ए/बी परीक्षण या पेज-स्तरीय विभाजन के लिए पार्टनर एनालिटिक्स में संग्रहीत होता है। |
यही अनुबंध Tic Tac Toe, Four in a Row, Bingo, I Know और आगामी embed रिलीज़ पर लागू होता है।
नियम 1
फ़िल्टर स्रोत
जब तक data.source gamesiknow न हो, तब तक संदेशों को अनदेखा करें।
नियम 2
हैंडल जीवनचक्र
मैच की स्थिति, विजेता का नाम और परिणाम जानने के लिए GAME_STARTED और GAME_COMPLETED का उपयोग करें।
नियम 3
पुरस्कारों के लिए सत्यापन करें
पुरस्कार देने से पहले resultId और signedToken को अपने बैकएंड पर भेजें।
| आयोजन | जब यह फायर करता है | प्रारूप | मुख्य क्षेत्र |
|---|---|---|---|
| तैयार | Embed प्रारंभ हो गया है और कॉन्फ़िगरेशन लोड हो गया है। | सभी गेमों के लिए गेमप्ले (संस्करण 1), या कुछ लाइफसाइकिल रैपरों के लिए फ्लैट। | मैचआईडी, मोड, embedऊंचाई |
| खेल शुरू हो गया | प्रत्येक embed योग्य खेल (वर्तमान और भविष्य)। यह तब सक्रिय होता है जब कोई मैच शुरू होता है (उदाहरण के लिए, पहली चाल या AI दौर की शुरुआत)। | सपाट जीवनचक्र | गेम, पार्टनरआईडी, कैंपेनआईडी, मोड, मैचआईडी (गेमप्ले स्ट्रीम के माध्यम से निहित) |
| खेल पूरा हुआ | प्रत्येक embeddable गेम के समाप्त होने पर, मैच का परिणाम, विजेता, विजेता खिलाड़ी का नाम और खिलाड़ी शामिल होते हैं ताकि मुख्य पृष्ठ तुरंत परिणाम दिखा सके। सर्वर-साइड हस्ताक्षर सफल होने पर परिणाम आईडी और हस्ताक्षरित टोकन भी शामिल होते हैं। | सपाट जीवनचक्र | परिणाम, विजेता, विजेता खिलाड़ी का नाम, विजेता खिलाड़ी आईडी, खिलाड़ी, स्कोर, अवधि सेकंड, परिणाम आईडी, हस्ताक्षरित टोकन |
| एम्बेड_फुलस्क्रीन_परिवर्तन | प्लेयर embed में फुलस्क्रीन में टॉगल करता है। | सपाट जीवनचक्र | पेलोड.सक्रिय बूलियन |
आकार: { source, game, version: 1, event, payload }
हर embeddable गेम पोस्ट GAME_COMPLETED माता-पिता को outcome, winner, और players जब मैच समाप्त होता है। जब हस्ताक्षर सफल हो जाते हैं। GAME_COMPLETED इसमें शामिल भी है resultId और signedToken बैकएंड सत्यापन के लिए।
{
"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..."
}खिलाड़ी_1
पहले मानव खिलाड़ी ने जीत हासिल की।
खिलाड़ी_2
दूसरे मानव खिलाड़ी ने जीत हासिल की।
एआई_बॉट
AI प्रतिद्वंद्वी जीत गया।
खींचना
कोई विजेता नहीं।
यह सुविधा केवल Tic Tac Toe और Four in a Row पर ही समर्थित है। गेम स्लग और एक्शन के साथ iframe कंटेंट विंडो को लक्षित करें।
// 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"
);इस लिसनर को उस पेज पर कॉपी करें जहाँ आपका iframe मौजूद है। यह रेडी स्टेट, गेम स्टार्ट, गेमप्ले इवेंट्स, साइन्ड कंप्लीशन और फुलस्क्रीन बदलावों को हैंडल करता है।
मैच के दौरान विजेता यूआई और गेमप्ले इवेंट्स के लिए स्रोत के आधार पर फ़िल्टर करें, GAME_STARTED और GAME_COMPLETED को हैंडल करें।
/**
* 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`;
}एकीकरण चेकलिस्ट
मुख्य पृष्ठ पर विजेता का नाम दिखाने के लिए GAME_COMPLETED का उपयोग करें। पुरस्कार प्राप्त करने के लिए, अपने बैकएंड से पार्टनर सर्वर कुंजी का उपयोग करके हस्ताक्षरित परिणामों को सत्यापित करें - ब्राउज़र JavaScript से कभी भी verify API को कॉल न करें।
केवल सर्वर-साइड। GAME_COMPLETED से resultId और signedToken का उपयोग करें, प्राधिकरण: 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
}आपका बैकएंड पैरेंट पेज से टोकन प्राप्त करता है, Games I Know के साथ सत्यापित करता है, और फिर इनाम प्रदान करता है।
// 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 इन घटनाओं को स्वचालित रूप से रिकॉर्ड करता है जब आपका iframe लोड होता है और खिलाड़ी आपस में बातचीत करते हैं। ये आपके पार्टनर डैशबोर्ड में दिखाई देते हैं। इसी डेटा को अपने डेटाबेस में लाने के लिए, इंस्टॉल पेज पर एक पार्टनर सर्वर कुंजी बनाएं और केवल अपने बैकएंड सर्वर से GET /partners/analytics कमांड चलाएं।
पार्टनर डैशबोर्ड → इंस्टॉल में जाकर पार्टनर सर्वर कुंजी जनरेट करें। इसे सर्वर सीक्रेट के रूप में सुरक्षित रखें। निर्यात को फ़िल्टर करने के लिए नीचे दिए गए क्वेरी पैरामीटर का उपयोग करें।
GET https://api.gamesiknow.com/partners/analytics
Authorization: Bearer gik_psk_your_secret_key
वैकल्पिक क्वेरी पैरामीटर:
domain पंजीकृत वेबसाइट होस्टनाम (example.com)
campaignId आपके iframe campaignId पैरामीटर से प्राप्त मान
gameSlug tic-tac-toe | four-in-a-row | bingo | i-know
from प्रारंभ तिथि UTC में (YYYY-MM-DD)
to समाप्ति तिथि UTC में (YYYY-MM-DD)
उदाहरण:
/partners/analytics?domain=www.example.com&gameSlug=tic-tac-toe&from=2026-05-01&to=2026-05-31
केवल अपने बैकएंड सर्वर से कॉल करें। अपने पार्टनर सर्वर की JavaScript को कभी भी ब्राउज़र में प्रदर्शित न करें।प्रत्येक embeddable गेम समान कोर इवेंट भेजता है। नीचे प्रत्येक गेम के लिए समय और अतिरिक्त जानकारी की तुलना करें।
| खेल | खेल शुरू हो गया | पूर्णता संकेत | पर हस्ताक्षर किए | जबरन AI | Height | मूल आदेश |
|---|---|---|---|---|---|---|
| Tic Tac Toe | पहली चाल या AI प्रारंभ | खेल पूरा हुआ | हाँ | हाँ | 640px | रीसेट, गेट_स्टेट |
| Four in a Row | पहली चाल या AI प्रारंभ | खेल पूरा हुआ | हाँ | हाँ | 640px | रीसेट, गेट_स्टेट |
| Bingo | मैच शुरू होता है (AI या PvP) | खेल पूरा हुआ | हाँ | हाँ | 640px | अभी तक कोई नहीं |
| I Know | मैच शुरू होता है (AI या PvP) | खेल पूरा हुआ | हाँ | हाँ | 640px | अभी तक कोई नहीं |
यह पृष्ठ तकनीकी संदर्भ पृष्ठ है। प्लेटफ़ॉर्म-विशिष्ट इंस्टॉलेशन चरणों या ऊर्ध्वाधर प्लेसमेंट संबंधी सलाह के लिए इन गाइडों का उपयोग करें। सभी गाइड ऊपर वर्णित समान iframe और इवेंट मॉडल का उपयोग करते हैं।
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.
क्या आप iframe गेम, HTML5 विजेट या मुफ़्त embed गेम जैसे सामान्य अवलोकन पृष्ठ खोज रहे हैं? सभी ब्राउज़ करें embed हब पर मार्गदर्शन करता है.
एकीकरण संबंधी विवरण, वर्तमान गेम समर्थन, कमांड, हस्ताक्षरित परिणाम और भविष्य में गेम की अनुकूलता के बारे में उत्तर।
जी हां। Games I Know embed मानक iframe HTML का उपयोग करते हैं, इसलिए वे WordPress के कस्टम HTML ब्लॉक, Webflow के embed एलिमेंट, Wix और Squarespace के कस्टम कोड एरिया, स्टैटिक HTML, React, Next.js और अन्य कस्टम साइटों में काम करते हैं। सबसे पहले अपने पार्टनर डैशबोर्ड में वेबसाइट डोमेन रजिस्टर करें, फिर जेनरेट किए गए फ्रेम स्निपेट को उस पेज पर पेस्ट करें जहां गेम दिखना चाहिए।
/embed/{gameSlug}/ गेम embed का सार्वजनिक लैंडिंग पेज है। /embed/{gameSlug}/frame/ iframe का रनटाइम है जिसे आपकी वेबसाइट में पेस्ट किया जाना चाहिए। iframe कोड में हमेशा /frame/ URL का उपयोग करें क्योंकि यह खेलने योग्य गेम को लोड करता है, आपके टेनेंट और डोमेन को मान्य करता है, और पैरेंट-पेज इवेंट भेजता है।
जी हां। Games I Know और iframe गेम मोबाइल, टैबलेट, लैपटॉप और डेस्कटॉप ब्राउज़र के लिए डिज़ाइन किए गए हैं। अधिकांश embed के लिए width="100%" और लगभग 640px की अनुशंसित ऊंचाई का उपयोग करें। यदि आप चाहते हैं कि आपका पैरेंट पेज iframe का आकार स्वचालित रूप से बदल दे, तो आप रेडी इवेंट को सुन सकते हैं और payload.embedHeight का उपयोग कर सकते हैं।
Games I Know, iframe और embed बीटा संस्करण के दौरान निःशुल्क उपलब्ध हैं। इन्हें शुरू करने के लिए क्रेडिट कार्ड की आवश्यकता नहीं है, और वर्तमान बीटा संस्करण में विज्ञापन शामिल नहीं हैं। एक निःशुल्क पार्टनर खाता बनाएँ, अपना डोमेन पंजीकृत करें और डैशबोर्ड से iframe स्निपेट जनरेट करें।
जी हां। पार्टनर अकाउंट आपको एक टेनेंट आईडी और डोमेन-प्रतिबंधित iframe स्निपेट प्रदान करता है। iframe फ्रेम URL के साथ टेनेंट आईडी भेजता है ताकि Games I Know पार्टनर, अनुमत डोमेन, गेम एक्सेस, AI कोटा, एनालिटिक्स कैंपेन और परिणाम सत्यापन प्रवाह को मान्य कर सके।
embed डोमेन प्रतिबंधित है। यदि कोई आपके iframe स्निपेट को किसी अनधिकृत वेबसाइट पर कॉपी करता है, तो Games I Know आपके पार्टनर खाते के लिए कॉन्फ़िगर किए गए डोमेन के विरुद्ध अनुरोध के स्रोत की जाँच करता है और अनधिकृत उपयोग को ब्लॉक कर देता है। जब आप प्रत्येक वेबसाइट या अभियान के लिए बेहतर विश्लेषण चाहते हैं, तो अलग-अलग अभियान आईडी का उपयोग करें।
Tic Tac Toe, Four in a Row, Bingo और I Know आज iframe और embed का समर्थन करते हैं। प्रत्येक गेम रेडी स्टेट, गेम स्टार्ट, गेमप्ले, कंप्लीशन, विनर डेटा, एनालिटिक्स और रिजल्ट वेरिफिकेशन के लिए मानक embed इवेंट कॉन्ट्रैक्ट भेजता है। नए embed सपोर्ट करने योग्य गेम्स से भी इसी इवेंट पैटर्न का पालन करने की उम्मीद है, इसलिए पार्टनर्स को अपने इंटीग्रेशन को दोबारा बनाने की आवश्यकता नहीं होगी।
प्रत्येक embeddable गेम दो postMessage प्रारूपों का उपयोग करता है। लाइफसाइकिल इवेंट एक फ्लैट आकार का उपयोग करते हैं जिसमें स्रोत: gamesiknow होता है और इवेंट मान ready, GAME_STARTED, GAME_COMPLETED और EMBED_FULLSCREEN_CHANGE होते हैं। गेमप्ले इवेंट version: 1 का उपयोग करते हैं जिसमें नेस्टेड इवेंट नाम ready, mode_change, move, reset, undo और state होते हैं। हमेशा data.source === "gamesiknow" पर फ़िल्टर करें।
जी हां। मैच शुरू होने पर GAME_STARTED सिग्नल सुनें, खेल के दौरान मूव और मोड चेंज जैसे गेमप्ले इवेंट्स का उपयोग करें, और मैच समाप्त होने पर GAME_COMPLETED सिग्नल का उपयोग करें। GAME_COMPLETED में परिणाम, विजेता, खिलाड़ी, स्कोर, अवधि और परिणाम पहचानकर्ता शामिल होते हैं, जहां साइनिंग उपलब्ध है। सर्वर-साइड एनालिटिक्स लोड, स्टार्ट, कंप्लीशन, ब्लॉक किए गए प्रयास और CTA क्लिक्स को भी रिकॉर्ड करता है।
मैच समाप्त होने पर GAME_COMPLETED का उपयोग करें। प्रत्येक embed योग्य गेम परिणाम, विजेता, विजेता खिलाड़ी का नाम और खिलाड़ियों की जानकारी के साथ यह लाइफसाइकिल इवेंट भेजता है। जब GAME_COMPLETED में resultId और signedToken शामिल हों, तो उन्हें अपने बैकएंड पर भेजें और पुरस्कार या क्रेडिट देने से पहले अपने पार्टनर सर्वर कुंजी के साथ POST /embed/results/verify को कॉल करें।
iframe को होस्ट करने वाले पेज पर window.addEventListener("message", handler) जोड़ें। हैंडलर में, उन संदेशों को अनदेखा करें जब तक कि event.data.source === "gamesiknow" न हो। लाइफसाइकल इवेंट्स के लिए event.data.event पर, या गेमप्ले इवेंट्स के लिए event.data.event और event.data.version === 1 पर ब्रांच करें। वैकल्पिक रूप से, अपने स्वीकृत Games I Know ओरिजिन के विरुद्ध event.origin को मान्य करें।
मुख्य पृष्ठ पर GAME_COMPLETED का उपयोग करके तुरंत विजेता का विवरण (परिणाम, विजेता, विजेता खिलाड़ी का नाम, खिलाड़ी) देखें। पुरस्कार के लिए, GAME_COMPLETED से resultId और signedToken अपने बैकएंड पर भेजें, फिर अपने डैशबोर्ड से पार्टनर सर्वर कुंजी का उपयोग करके Authorization: Bearer gik_psk_… के साथ POST /embed/results/verify कमांड चलाएँ। सत्यापन एंडपॉइंट केवल सर्वर-साइड है - इसे कभी भी ब्राउज़र JavaScript से न चलाएँ। सत्यापन सफल होने के बाद ही पुरस्कार दें।
आवश्यक: tenantId (आपका पार्टनर टेनेंट आईडी)। वैकल्पिक: कोटा अनुमति देने पर जबरन AI मोड का अनुरोध करने के लिए mode=ai और एनालिटिक्स को सेगमेंट करने के लिए campaignId। फ्रेम URL /embed/{gameSlug}/frame/?tenantId=YOUR_TENANT_ID का अनुसरण करते हैं।
हाँ। iframe URL में mode=ai जोड़ें ताकि पहले AI मोड का अनुरोध किया जा सके। सर्वर-साइड कोटा और डोमेन नियम अभी भी लागू होते हैं, इसलिए AI मोड अनुपलब्ध होने या कोटा समाप्त होने पर embed प्लेयर चॉइस या प्लेयर बनाम प्लेयर मोड पर वापस आ सकता है।
Tic Tac Toe और Four in a Row पैरेंट मैसेज स्वीकार करते हैं जिनमें गेम को गेम स्लग पर सेट किया जाता है और एक्शन को रीसेट या गेट_स्टेट पर सेट किया जाता है। iframe स्टेट गेमप्ले इवेंट के साथ प्रतिक्रिया करता है। अन्य embed गेम अभी तक पैरेंट कमांड प्रदर्शित नहीं करते हैं।
टोकन जनरेट करने से पहले यह सुनिश्चित कर लें कि वेबसाइट डोमेन सक्रिय है।
प्रत्येक वेबसाइट या कैंपेन समूह के लिए एक अलग टोकन या कैंपेन आईडी का उपयोग करें।
पैरेंट पेज पर GAME_STARTED और GAME_COMPLETED के संकेतों को सुनें।
embed के अंदर Games I Know ब्रांडिंग को दृश्यमान रखें।
पुरस्कार या क्रेडिट देने से पहले अपने बैकएंड पर हस्ताक्षरित परिणामों को सत्यापित करें।
AI कोटा समाप्त होने पर AI मोड को लागू करने और AI कोटा समाप्त होने पर PvP फॉलबैक का परीक्षण करें।
वेबसाइट, सीएमएस और इच्छित गेम प्लेसमेंट साझा करें। हम आपके embed इवेंट वायरिंग की समीक्षा आपके साथ कर सकते हैं।