Skip to content

การเชื่อมต่อโฆษณาในเกม ​

อัปเดตล่าสุด: 2026-08-11

เชื่อมต่อโฆษณา Banner, interstitial และ rewarded ผ่าน PlayNova host bridge เกมของคุณทำงานใน iframe และสื่อสารกับโฮสต์ด้วย postMessage — อย่าฝัง SDK โฆษณาบุคคลที่สามในแพ็กเกจ

การสร้างรายได้ทำงานอย่างไร ​

PlayNova เติมโฆษณาฝั่งโฮสต์และแบ่งรายได้กับครีเอเตอร์ที่ได้รับการรับรอง (ค่าเริ่มต้น ครีเอเตอร์ 70%) เกมขอ show/load เท่านั้น โฮสต์จัดการ inventory, ขีดจำกัดความถี่ และรายงาน impression/click

ซองสำหรับทุกข้อความ:

json
{ "source": "...", "type": "...", "payload": { } }
  • เกมต้องตั้ง source เป็น playnova-game
  • โฮสต์ตอบกลับด้วย source playnova-host

รูปแบบโฆษณา:

  • Rewarded — ผู้เล่น opt-in (revive, รางวัลสองเท่า, ไอเทมฟรี) ให้รางวัลหลัง ads.rewarded_completed เท่านั้น
  • Interstitial — จังหวะพักตามธรรมชาติ (ผ่านด่าน / game over) ห้ามระหว่างการป้อนข้อมูล
  • Banner — แถบของโฮสต์ เกมขอ show/hide เท่านั้น

การวางตำแหน่งที่แนะนำ ​

ส่งสตริง placement ที่คงที่เสมอเพื่อการวิเคราะห์และขีดจำกัด ใช้ชื่อแพลตฟอร์มด้านล่าง:

Placementกรณีใช้งาน
reviveเล่นต่อหลังล้มเหลว
double_rewardโบนัสท้ายด่าน
free_item / unlockของใช้หรือปลดล็อกเนื้อหา
level_complete / level_start / game_over / pauseจังหวะ interstitial
banner_bottom / banner_topช่อง Banner

ขั้นตอนการเชื่อมต่อ ​

  1. ในจังหวะพักตามธรรมชาติ เรียก ads.load_* พร้อม placement (และ requestId ถ้ามี)
  2. รอ ads.*_loaded (หรือจัดการ *_failed และเล่นต่อโดยไม่มีโฆษณา)
  3. เรียก ads.show_* ด้วย requestId / placement เดิม
  4. สำหรับ rewarded เปลี่ยนสถานะเกม เฉพาะ ที่ ads.rewarded_completed หาก dismissed/failed อย่าให้รางวัล

ประเภทข้อความ bridge ​

สตริง type มาตรฐานกำหนดใน playnova-web (ads-bridge) ให้แพ็กเกจเกมตรงกับค่าเหล่านี้

เกม → โฮสต์ ​

typeวัตถุประสงค์
ads.load_rewardedโหลดล่วงหน้า inventory rewarded
ads.show_rewardedแสดง rewarded (ให้รางวัลหลังเสร็จเท่านั้น)
ads.load_interstitialโหลดล่วงหน้า interstitial
ads.show_interstitialแสดง interstitial ตอนพัก
ads.show_bannerขอให้ Banner โฮสต์มองเห็น
ads.hide_bannerซ่อน Banner โฮสต์
ads.preloadโหลดล่วงหน้าหลายรูปแบบ
ads.get_banner_heightสอบถามความสูง Banner สำหรับ layout

โฮสต์ → เกม ​

typeวัตถุประสงค์
ads.rewarded_loadedRewarded พร้อมแสดง
ads.rewarded_failedRewarded load/show ล้มเหลว
ads.rewarded_completedRewarded เสร็จ — ให้รางวัลได้
ads.rewarded_dismissedRewarded ปิดก่อน — อย่าให้รางวัล
ads.interstitial_loadedInterstitial พร้อม
ads.interstitial_failedInterstitial ล้มเหลว
ads.interstitial_closedInterstitial ปิด
ads.banner_shownBanner มองเห็น
ads.banner_hiddenBanner ซ่อน
ads.banner_failedBanner ล้มเหลว

ตัวช่วยคัดลอก-วาง ​

วางใน index.html (หรือโมดูล) แทนที่การให้รางวัลด้วยตรรกะเกมของคุณ

js
function pnAds(type, payload) {
  parent.postMessage({ source: 'playnova-game', type, payload }, '*');
}
function onPnHost(handler) {
  window.addEventListener('message', (e) => {
    const d = e.data;
    if (!d || d.source !== 'playnova-host') return;
    handler(d);
  });
}
// ตัวอย่าง: โฟลว์ revive
pnAds('ads.load_rewarded', { placement: 'revive' });
onPnHost((msg) => {
  if (msg.type === 'ads.rewarded_loaded') {
    pnAds('ads.show_rewarded', {
      requestId: msg.payload && msg.payload.requestId,
      placement: 'revive',
      reward: { type: 'life', amount: 1 },
    });
  }
  if (msg.type === 'ads.rewarded_completed') {
    // ให้รางวัลที่นี่เท่านั้น
  }
});

กฎ production ​

  • ห้ามคลิกอัตโนมัติ วนลูป принудитель หรือบังปุ่ม Close / Skip
  • อย่าให้รางวัลหากไม่ได้รับ ads.rewarded_completed สำหรับ requestId นั้น
  • เคารพความล้มเหลวของโฮสต์: inventory ว่าง ให้เล่นต่ออย่างราบรื่น
  • โหลดก่อน show เพื่อลดการรอตอนทริกเกอร์
  • แพ็กเกจปลอด SDK โฆษณาบุคคลที่สาม tracker และสคริปต์ pop-under
  • ความถี่ interstitial บังคับโดยโฮสต์ การ spam show อาจถูกละเว้น

คำถามที่พบบ่อย ​

ใช้ AdMob / Unity Ads ใน zip ได้ไหม? ​

ไม่ได้ PlayNova รวม demand ฝั่งโฮสต์ การฝัง SDK อื่นจะไม่ผ่านการตรวจและทำลายสมมติฐาน sandbox iframe

ถ้าโฮสต์ไม่ตอบ? ​

ถือว่าเงียบหรือ *_failed เป็น no-fill เล่นต่อโดยไม่บล็อกผู้เล่นด้วย spinner ไม่สิ้นสุด

ดูรายได้ที่ไหน? ​

หลังโฆษณา live ใน production impression และรายได้จะไปที่การวิเคราะห์ครีเอเตอร์ การชำระเงินตามเงื่อนไขโปรแกรมครีเอเตอร์


Host bridge ใช้งานบนหน้าเล่นแล้ว ประเภทข้อความด้านบนคือสัญญา production — ใช้งานตามนี้ตอนนี้

เอกสาร PlayNova สำหรับครีเอเตอร์