Skip to content

Integrace reklam ve hře ​

Poslední aktualizace: 2026-08-11

Integrujte reklamy Banner, interstitial a rewarded přes PlayNova host bridge. Vaše hra běží v iframe a komunikuje s hostitelem přes postMessage — nevkládejte reklamní SDK třetích stran do balíčku.

Jak funguje monetizace ​

PlayNova plní reklamy na straně hostitele a sdílí příjmy s certifikovanými tvůrci (výchozí 70% tvůrci). Hry pouze žádají show/load; hostitel spravuje inventář, frekvenční limity a reporting impression/click.

Obálka pro každou zprávu:

json
{ "source": "...", "type": "...", "payload": { } }
  • Hry musí nastavit source na playnova-game
  • Hostitel odpovídá s source playnova-host

Formáty reklam:

  • Rewarded — opt-in hráče (revive, dvojitá odměna, bezplatná položka). Udělujte odměny pouze po ads.rewarded_completed.
  • Interstitial — přirozené přestávky (dokončená úroveň / game over). Nikdy během vstupu.
  • Banner — pruh hostitele; hra pouze žádá show/hide.

Doporučená umístění ​

Vždy předávejte stabilní řetězec placement pro analytiku a limity. Preferujte názvy platformy níže:

PlacementPoužití
revivePokračovat po neúspěchu
double_rewardBonus na konci úrovně
free_item / unlockSpotřební materiál nebo odemknutí obsahu
level_complete / level_start / game_over / pauseMomenty interstitial
banner_bottom / banner_topSloty Banner

Integrační postup ​

  1. V přirozené přestávce zavolejte ads.load_* s placement (a volitelným requestId).
  2. Počkejte na ads.*_loaded (nebo zpracujte *_failed a pokračujte bez reklam).
  3. Zavolejte ads.show_* se stejným requestId / placement.
  4. U rewarded měňte stav hry pouze při ads.rewarded_completed. dismissed/failed — neudělujte odměnu.

Typy bridge zpráv ​

Kanonické type řetězce jsou definovány v playnova-web (ads-bridge). Slaďte balíček hry s těmito přesnými hodnotami.

Hra → hostitel ​

typeÚčel
ads.load_rewardedPřednačíst rewarded inventář
ads.show_rewardedZobrazit rewarded (udělit až po dokončení)
ads.load_interstitialPřednačíst interstitial
ads.show_interstitialZobrazit interstitial v přestávce
ads.show_bannerPožádat o viditelný Banner hostitele
ads.hide_bannerSkrýt Banner hostitele
ads.preloadPřednačíst více formátů
ads.get_banner_heightDotaz na výšku Banner pro layout

Hostitel → hra ​

typeÚčel
ads.rewarded_loadedRewarded připraven k zobrazení
ads.rewarded_failedRewarded load/show selhal
ads.rewarded_completedRewarded dokončen — bezpečné udělit
ads.rewarded_dismissedRewarded předčasně zavřen — neudělovat
ads.interstitial_loadedInterstitial připraven
ads.interstitial_failedInterstitial selhal
ads.interstitial_closedInterstitial zavřen
ads.banner_shownBanner viditelný
ads.banner_hiddenBanner skrytý
ads.banner_failedBanner selhal

Helper kopírovat-vložit ​

Vložte do index.html (nebo modulu). Nahraďte udělování odměny vlastní herní logikou.

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říklad: revive tok
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') {
    // udělit odměnu POUZE zde
  }
});

Produkční pravidla ​

  • Žádné auto-klikání, vynucené smyčky ani skrývání Close / Skip.
  • Neudělujte odměny bez ads.rewarded_completed pro dané requestId.
  • Respektujte chyby hostitele: prázdný inventář, pokračujte hladce.
  • Preferujte load před show pro kratší čekání.
  • Balíčky bez reklamních SDK třetích stran, trackerů a pop-under skriptů.
  • Frekvence interstitial je vynucována hostitelem; spam show může být ignorován.

FAQ ​

Mohu použít AdMob / Unity Ads v zip? ​

Ne. PlayNova agreguje poptávku na hostiteli. Vložení jiných SDK selže review a poruší iframe sandbox.

Co když hostitel neodpoví? ​

Ticho nebo *_failed považujte za no-fill. Pokračujte bez blokování hráče nekonečným spinnerem.

Kde vidím příjmy? ​

Po spuštění reklam v produkci jdou impression a příjmy do analytiky tvůrců. Vyúčtování dle podmínek programu.


Host bridge je aktivní na play stránce. Typy zpráv výše jsou produkční smlouva — implementujte je nyní.

Dokumentace PlayNova pro tvůrce