Tento článek obsahuje poznámky a příklady, které ukazují, jak pomocí knihovny Google Publisher Tag (GPT) zobrazit vsunutou reklamu v H5 hře. Vsunuté reklamy v hrách jsou celostránkové reklamy spravované značkou GPT, které se uživatelům zobrazují pomocí ručního spouštěče v hrách na webových stránkách.
K zobrazování vsunutých reklam v hrách a interakci s nimi se používají následující události značek GPT:
Událost | Spustí se, když… |
---|---|
|
Reklamní blok vsunutý ve hře je připraven k zobrazení. Vsunutou reklamu zobrazíte tak, že u poskytnutého objektu události zavoláte metodu |
|
Zobrazovaný reklamní blok vsunutý ve hře je teď zavřený. Slouží ke spuštění vlastní logiky při zavření vsunuté reklamy ve hře. |
Vsunutá reklama ve hře se může vykreslit na celou obrazovku, nebo uvnitř rámce hry (podle toho, jak je hra zobrazena). Další informace o strukturách reklam v H5 hrách
Následující ukázkový kód předpokládá, že je H5 hra umístěna přímo do stejného rámce nejvyšší úrovně jako stránka (prostřednictvím struktury Celá obrazovka). V tomto případě se i vsunutá reklama ve hře vykreslí na celou obrazovku.
Stejný kód však funguje i při umístění do podřízeného rámce (pomocí struktury iFrame/WebView). Aby bylo možné vsunutou reklamu ve hře omezit na vykreslovací prostor H5 hry, musí být hra umístěna v prvku iframe.
Příklad
<!doctype html>
<html>
<head>
<!-- Případná značka Google Publisher Tag na tomto místě bude odpovědná pouze za zobrazování reklam mimo H5 hru. -->
<title>Stránka pro tento příklad H5 hry</title>
<!-- Sem patří váš obsah pro sekci <head>. -->
</head>
<body>
<span id="example-text">Příklad H5 hry</span>
<iframe src="https://www.example-game.com" title="Příklad hry" allow="autoplay">
<!-- Zde se odesílá ukázka kódu. Značka Google Publisher Tag načtená v tomto rámci se použije pouze v H5 hře. -->
</iframe>
</body>
</html>
Poznámky o použití
- V zájmu zajištění optimálního uživatelského dojmu žádá značka GPT o vsunuté reklamy pro hru pouze na stránkách, které tento formát správně podporují. Metoda
defineOutOfPageSlot()
proto může vracet hodnotu null. O vsunuté reklamy v hrách žádejte pouze na stránkách a v prostředích, kde chcete zobrazovat vsunutou reklamu. Vsunuté reklamy v hrách se mohou zobrazovat na počítačích, tabletech a mobilních zařízeních. - Vsunutá reklama se zobrazí, když zavoláte metodu
makeGameManualInterstitialVisible
z událostiGameManualInterstitialSlotReady
. - Vsunuté reklamy v hrách mají pevné omezení frekvence. Toto omezení zabraňuje spouštění události
gameManualInterstitialSlotReady
častěji než jednou za 120 sekund.
Požadavky a doporučení
- Vsunuté reklamy pro hry H5 nesmějí majitelé obsahu používat u neherního inventáře. Implementací tohoto formátu vydavatelé s touto podmínkou automaticky souhlasí. Je třeba dodržovat také zásady Google pro majitele obsahu a pokyny pro partnery služby Google Ad Manager.
- Společnost Google si vyhrazuje právo kdykoli majitele obsahu schválit nebo zamítnout. Majitelé obsahu, u kterých bude zjištěno porušení zásad, budou z uvedeného seznamu povolených odstraněni.
- Vsunuté reklamy v hrách generují svůj vlastní reklamní blok. Na rozdíl od jiných typů reklam není u vsunutých reklam v hrách nutné definovat prvek <div>. Tyto reklamy automaticky vytvářejí a vkládají na stránku svůj vlastní kontejner, jakmile se reklama vyplní.
- Pokud na stránce s několika bloky používáte architekturu jednoho požadavku (SRA), volejte metodu
display()
až po vytvoření statických reklamních bloků. Jak je vysvětleno v doporučených postupech pro reklamy, první volání funkcedisplay()
požádá o všechny reklamní bloky definované před ním. Vsunuté bloky v hrách sice předdefinované prvky <div> nevyžadují, ale statické reklamní bloky ano. Pokud metodudisplay()
budete volat dříve, než na stránce budou tyto prvky, povede to k méně kvalitním signálům. Proto doporučujeme provádět počáteční volání až po definování statických bloků. - Konfigurace ručních vsunutých reklam vyžaduje stejné nastavení reklamní jednotky a řádkové položky jako u standardních vsunutých reklam na webu.
Začínáme
- Označení
- Pomocí metody
googletag.defineOutOfPageSlot()
vytvořte blok GPT a formát OutOfPage nastavte nagoogletag.defineOutOfPageSlot()
.
Přečtěte si technické pokyny pro vývojáře k implementaci vsunutých reklam v H5 hrách pomocí knihovny GPT. - Po definování bloku přidejte posluchače událostí, který bude naslouchat události
gameManualInterstitialSlotReady
. Reklamu zobrazíte, tak že ve zpětném volání tohoto posluchače události zavoláte metodumakeGameManualInterstitialVisible()
poskytnutého objektu události. - Až deklarujete všechny ostatní statické reklamní bloky, volání funkce
googletag.display
spustí žádost o vyplnění reklamního bloku pro vsunutou reklamu ve hře.
- Pomocí metody
Příklad
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Příklad ruční vsunuté reklamy ve hře</title>
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script>
window.googletag = window.googletag || { cmd: [] };
let gameManualInterstitialSlot;
googletag.cmd.push(function () {
// Definování ručního reklamního bloku pro vsunutou reklamu ve hře.
defineGameManualInterstitialSlot();
// Definování statických reklamních bloků.
staticSlot = googletag.defineSlot(
'/6355419/Travel/Europe', [100, 100], 'static-ad-1')
.addService(googletag.pubads());
// Aktivace architektury SRA a služeb.
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
function defineGameManualInterstitialSlot() {
gameManualInterstitialSlot = googletag.defineOutOfPageSlot(
'/6355419/Travel/Europe/France/Paris',
googletag.enums.OutOfPageFormat.GAME_MANUAL_INTERSTITIAL);
// Pokud stránka nebo zařízení vsunuté reklamy nepodporuje, vrátí blok hodnotu null.
if (gameManualInterstitialSlot) {
gameManualInterstitialSlot.addService(googletag.pubads());
PrintStatus('Čekání na vsunutou reklamu…');
// Přidání posluchače událostí, který po načtení vsunuté reklamy zaregistruje obslužnou rutinu pro kliknutí.
// Pokud se tato událost nespustí, přistoupí se k pokusu vymazat místní úložiště a obnovit
// stránku.
googletag.pubads().addEventListener('gameManualInterstitialSlotReady',
(slotReadyEvent) => {
if (gameManualInterstitialSlot === slotReadyEvent.slot) {
printStatus('Vsunutá reklama je připravena.');
const button = document.getElementById('trigger');
button.style.display = 'block';
button.addEventListener('click', () => {
slotReadyEvent.makeGameManualInterstitialVisible();
printStatus('Vsunutá reklama je aktivní.');
}, { once: true });
}
});
googletag.pubads().addEventListener('gameManualInterstitialSlotClosed',
resumeGame);
}
}
function resumeGame() {
document.getElementById('trigger').style.display = 'none';
// Každý blok pro vsunutou reklamu ve hře lze použít pouze jednou.
Starý blok je proto potřeba zlikvidovat a vytvořit nový.
googletag.destroySlots([gameManualInterstitialSlot]);
defineGameManualInterstitialSlot();
googletag.display(gameManualInterstitialSlot);
}
function printStatus(status) {
document.getElementById('status').innerText = status;
}
</script>
<style>
button {
display: none;
}
div.content {
position: fixed;
top: 50%;
}
</style>
</head>
<body>
<div id="static-ad-1" style="width: 100px; height: 100px;"></div>
<div class="content">
<span id="status">Ruční vsunutá reklama ve hře není na této stránce podporována.</span>
<p>
<button id="trigger">SPUSTIT VSUNUTOU REKLAMU</button>
</p>
</div>
<script>
googletag.cmd.push(function () {
// Metodu display byste měli poprvé volat až po
// definování značek div statických bloků.
googletag.display(staticSlot);
});
</script>
</body>
</html>
Konfigurace reklam
- Vytvořte novou reklamní jednotku nebo použijte stávající. Jako velikost reklamní jednotky vyberte 320x480, 300x250 a 336x280.
- Vytvořte řádkové položky. V závislosti na případu použití vyberte příslušné nastavení řádkové položky:
Nastavení řádkové položky | ||||
---|---|---|---|---|
Použití | Typ reklamy | Typ řádkové položky | Očekávané kreativy | Cílení > Inventář |
Zobrazování obsahové reklamy s rezervací | Obsahová reklama |
|
320x480, 300x250 nebo 336x280 |
Reklamní jednotka vytvořená nebo vybraná v předchozím kroku |
Zobrazování reklamy bez rezervace | Obsahová reklama |
|
||
Zobrazování videoreklamy s rezervací (např. značku VAST nebo soubor MP4) | Videoreklama nebo audioreklama |
|
300x250v nebo 320x480v | |
Zobrazování záložních reklam a reklam z otevřené aukce | Obsahová reklama | Ad Exchange | Všechny požadované velikosti |