Příklady volání

1. Singlerequest

V případě singlerequestu je argumentem metody sssp.getAds() pole s jedním objektem popisujícím konkrétní reklamní zónu. Funkci sssp.getAds() je třeba volat tolikrát, kolik je na stránce reklamních ploch.

Tento způsob výdeje je nejjednodušší, ale pro stránky s více plochami doporučujeme používat multirequest (viz dále), protože zpřístupňuje více funkcí SSP serveru. Použití singlerequestu pro každou zónu na stránce zvlášť může zpomalit načítání reklamy.

<head>
  ...
  <script src="https://ssp.seznam.cz/static/js/ssp.js"></script>
</head>
<body>
  ...
  <div id="ssp-zone-12345"></div>
  <script>
    sssp.getAds([
      {
        "zoneId": 12345,
        "id": "ssp-zone-12345",
        "width": 300,
        "height": 250
        }
      }
    ]);
  </script>
  ...
</body>

Technickou dokumentaci k singlerequestu naleznete na stránce https://ssp.seznam.cz/static/doc/single-request.

2. Multirequest

Multirequest umožňuje výdejovému skriptu SSP obsloužit všechny reklamní pozice na stránce najednou odesláním jediného požadavku na SSP server.

Všechny objekty popisující reklamní zóny je třeba nadefinovat v jednom poli a metodu sssp.getAds() zavolat pouze jednou. Volání musí být provedeno až poté, co se na stránce nacházejí všechny HTML elementy, do kterých se má reklama vykreslit.

Tento přístup značně snižuje pravděpodobnost zobrazení stejných reklam na jedné stránce.

<head>
  ...
  <script src="https://ssp.seznam.cz/static/js/ssp.js"></script>
</head>
<body>
  ...
  <div id="ssp-zone-12345"></div> <!-- SMR 300×250 px -->
  ...
  <div id="ssp-zone-67890"></div> <!-- wallpaper 480×300 px -->
  <script>
    sssp.getAds([
      {
        "zoneId": 12345,
        "id": "ssp-zone-12345",
        "width": 300,
        "height": 250
        }
      },
      {
        "zoneId": 67890,
        "id": "ssp-zone-67890",
        "width": 480,
        "height": 300
        }
      }
    ]);
  </script>
  ...
</body>

Technickou dokumentaci k multirequestu naleznete na stránce https://ssp.seznam.cz/static/doc/multi-request.

3. Opakované volání metody sssp.getAds()

Tento postup použijete v případě, že chcete reklamu vykreslit při splnění určitých podmínek jen do vybraných zón (například jiné zóny zobrazujete na desktopovém a jiné na mobilním zařízení). Funkci sssp.getAds() můžete volat několikrát a pokaždé v ní mít definovaný pouze výběr zón, které v dané situaci chcete vykreslit.

Platí také, že ve stránce můžete mít umístěny HTML elementy všech zón, ale reklamu metodou sssp.getAds() volat jen do některých (tzn. HTML element <div> může zůstat prázdný).

Opět platí, že volání metody sssp.getAds() musí být provedeno až poté, co se na stránce fyzicky nacházejí všechny HTML elementy daných zón.

<head>
  ...
  <script src="https://ssp.seznam.cz/static/js/ssp.js"></script>
</head>
<body>
  ...
  <div id="ssp-zone-11111"></div> <!-- text 300×250 px mobil -->
  ...
  <div id="ssp-zone-22222"></div> <!-- text 480×300 px desktop -->
  ...
  <div id="ssp-zone-33333"></div> <!-- skyscraper 300×600 px desktop -->
  <script>
    // podmínka detekující např. šířku zařízení
    if (window.innerWidth <= 767) {
      // zóny pro mobil
      sssp.getAds([
        {
          "zoneId": 11111,
          "id": "ssp-zone-11111",
          "width": 300,
          "height": 250
          }
        }
      ]);
    } else {
      // zóny pro desktop
      sssp.getAds([
        {
          "zoneId": 22222,
          "id": "ssp-zone-22222",
          "width": 480,
          "height": 300
          }
        },
        {
          "zoneId": 333333,
          "id": "ssp-zone-333333",
          "width": 300,
          "height": 600
          }
        }
      ]);
    }
  </script>
  ...
</body>

Není dovoleno volat najednou všechny zóny a regulovat jejich zobrazení pouze pomocí CSS stylů (display: none;) – takový přístup by způsobil, že by se zobrazení reklamy započítalo i tehdy, když by reálně nebyla vidět a uživatel webu by na ni tedy nemohl kliknout!

4. Definice reklamních ploch pomocí HTML tagů

Alternativním způsobem lze požadované vlastnosti reklamy definovat přímo v HTML elementu, do kterého se bude vkládat. Stačí v daném prvku uvést atribut data-szn-ssp-ad, jehož hodnotou bude objekt ve formátu JSON obsahující jednotlivé parametry zóny – stejně jako při použití funkce sssp.getAds() pro jednu plochu. Takto lze definovat všechny reklamní plochy a následně na konci stránky zavolat metodu sssp.getAdsByTags(), která všechny tyto elementy na stránce najde a odešle požadavek na SSP server:

<head>
  ...
  <script src="https://ssp.seznam.cz/static/js/ssp.js"></script>
</head>
<body>
  ...
  <div id="ssp-zone-12345" data-szn-ssp-ad='{"zoneId": 12345, "width": 300}' ></div>
  ...
  <div id="ssp-zone-67890" data-szn-ssp-ad='{"zoneId": 67890, "width": 480}' ></div>
  ...
  <script>
    sssp.getAdsByTags();
  </script>
  ...
<body>

Hromadné odeslání požadavku pro všechny elementy s atributem data-szn-ssp-ad, které se na stránce nacházejí, je nežádoucí v situaci, kdy je potřeba reklamu vydat pouze do části ploch – například když se některé zóny používají pro desktopovou a jiné pro mobilní verzi webu. Je tedy nutné buď zajistit vkládání reklamních kódů na stránku odděleně pro jednotlivé varianty, nebo použít místo metody sssp.getAdsByTags() multirequest v podobě opakovaného volání metody getAds() pro jednotlivé varianty.

Výhodou tohoto postupu je, že se automaticky zavolají všechny zóny umístěné na stránce. Není tedy nutné je definovat v argumentu funkce. Technickou dokumentaci k definici pozic pomocí HTML tagů naleznete na https://ssp.seznam.cz/static/doc/tags.

5. SPA vs. MPA

Jsou-li vaše webové stránky nakódovány jako Single Page Application (SPA), reklamu je nutné načítat postupně a bez obnovení stránky. Metodu sssp.getAds() v tomto případě volejte vždy pouze pro ty reklamní plochy, které se právě nacházejí ve viewportu, nebo těsně pod jeho spodním okrajem. Následně znovu pokaždé, kdy změna obsahu stránky bez jejího obnovení odpovídá načtení nové stránky (spojenému se změnou URL) běžné webové aplikace (MPA), ke kterému dochází například po kliknutí na odkaz.

Na webech vytvořených jako SPA se veškeré změny odehrávají na jedné stránce, směrování probíhá čistě uvnitř webové aplikace a reklamní skript ho nedetekuje. Proto je třeba reklamní systém informovat o každé změně obsahu stránky prostřednictvím volání funkce window.sssp.setPageViewId(). Díky tomu lze správně měřit a v partnerském rozhraní zobrazovat počet monetizovaných zobrazení.