Skip to content

Játékon belüli hirdetésintegráció ​

Utolsó frissítés: 2026-08-11

Integráljon Banner, interstitial és rewarded hirdetéseket a PlayNova host bridge-en keresztül. A játék iframe-ben fut és postMessage-szel kommunikál a hosttal — ne ágyazzon be harmadik féltől származó hirdetés SDK-kat a csomagba.

Hogyan működik a monetizáció ​

A PlayNova a host oldalon tölti meg a hirdetéseket és megosztja a bevételt tanúsított alkotókkal (alapértelmezés 70% alkotó). A játékok csak show/load-ot kérnek; a host kezeli a készletet, frekvencia-korlátokat és impression/kattintás jelentést.

Boríték minden üzenethez:

json
{ "source": "...", "type": "...", "payload": { } }
  • A játékoknak source-t playnova-game-re kell állítaniuk
  • A host source playnova-host-tal válaszol

Hirdetésformátumok:

  • Rewarded — játékos opt-in (revive, dupla jutalom, ingyenes tárgy). Jutalmat csak ads.rewarded_completed után adjon.
  • Interstitial — természetes szünetek (szint kész / game over). Soha bevitel közben.
  • Banner — host tulajdonú sáv; a játék csak show/hide-ot kér.

Ajánlott elhelyezések ​

Mindig adjon át stabil placement stringet analitikához és korlátokhoz. Előnyben a platformnevek alább:

PlacementHasználat
reviveFolytatás kudarc után
double_rewardSzintvégi bónusz
free_item / unlockFogyóeszköz vagy tartalom feloldás
level_complete / level_start / game_over / pauseInterstitial pillanatok
banner_bottom / banner_topBanner helyek

Integrációs folyamat ​

  1. Természetes szünetben hívja ads.load_*-ot placement-tel (és opcionális requestId-vel).
  2. Várjon ads.*_loaded-ra (vagy kezelje *_failed-et és folytassa hirdetés nélkül).
  3. Hívja ads.show_*-ot ugyanazzal a requestId / placement-tel.
  4. Rewarded esetén játékállapotot csak ads.rewarded_completed-nál módosítson. dismissed/failed — ne adjon jutalmat.

Bridge üzenettípusok ​

A kanonikus type stringek a playnova-web-ben (ads-bridge) vannak definiálva. Igazítsa játékcsomagját e pontos értékekhez.

Játék → host ​

typeCél
ads.load_rewardedRewarded készlet előtöltése
ads.show_rewardedRewarded megjelenítés (jutalom csak befejezés után)
ads.load_interstitialInterstitial előtöltés
ads.show_interstitialInterstitial megjelenítés szünetben
ads.show_bannerHost Banner láthatóság kérése
ads.hide_bannerHost Banner elrejtése
ads.preloadTöbb formátum előtöltése
ads.get_banner_heightBanner magasság lekérdezése layout-hoz

Host → játék ​

typeCél
ads.rewarded_loadedRewarded kész megjelenítésre
ads.rewarded_failedRewarded load/show sikertelen
ads.rewarded_completedRewarded befejezve — biztonságos adni
ads.rewarded_dismissedRewarded korán bezárva — ne adjon
ads.interstitial_loadedInterstitial kész
ads.interstitial_failedInterstitial sikertelen
ads.interstitial_closedInterstitial bezárva
ads.banner_shownBanner látható
ads.banner_hiddenBanner rejtett
ads.banner_failedBanner sikertelen

Másolás-beillesztés helper ​

Illessze be index.html-be (vagy modulba). Cserélje a jutalomadást saját játéklogikára.

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);
  });
}
// Példa: revive folyamat
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') {
    // jutalmat CSAK itt adjon
  }
});

Production szabályok ​

  • Nincs auto-kattintás, kényszerített ciklus vagy Close / Skip elrejtés.
  • Ne adjon jutalmat ads.rewarded_completed nélkül ehhez a requestId-hez.
  • Tiszteletben tartani host hibákat: üres készlet, folytassa a játékot.
  • Load előbb show-nál a rövidebb várakozásért.
  • Csomagok harmadik féltől származó hirdetés SDK, tracker és pop-under script nélkül.
  • Interstitial frekvenciát a host kényszeríti; show spam figyelmen kívül hagyható.

GYIK ​

Használhatok AdMob / Unity Ads-ot a zip-ben? ​

Nem. A PlayNova a hoston aggregálja a keresletet. Más SDK beágyazása elbukik a review-n és megsérti az iframe sandbox feltételezéseket.

Mi van, ha a host nem válaszol? ​

Csendet vagy *_failed-et no-fill-ként kezelje. Folytassa a játékot végtelen spinner nélkül.

Hol látom a bevételt? ​

Production hirdetések után impression és bevétel az alkotói analitikába kerül. Elszámolás a program feltételei szerint.


A host bridge él a játékoldalon. A fenti üzenettípusok a production szerződés — implementálja most.

PlayNova alkotói dokumentáció