loading

Stanislav Duben

Stanislav Duben ICQ: 66800432 email: duben@seznam.cz Skype: sduben

1. září 2012

Responsivní reklama v AdSense - technické řešení

responsivni-reklamaV dalším díle responsivní reklamě ukážu technické řešení pro AdSense kód. Je to o něco jednodušší než OpenX řešení, ale má určité zádrhely.

Responsivní reklama v AdSense

Podobně jako v přechozím článku o responsivní reklamě v OpenX i zde používáme Javascript, protože kód od AdSense pro zobrazení ploch je také v Javascriptu. Dobré je, že kód rovnou používám proměnné, které můžeme "podstrčit" změněné. Takto upravená reklama má ale dvě záludnosti

  1. Z čistě technického hlediska jde o zakázanou manipulaci s AdSense kódem. Nicméně nemělo by jít o úpravu, která by porušovala podmínky použití AdSense. V tom případě by totiž porušování podmínek bylo i použítí různých AdSense pluginů pro Wordpress, který taky kód generuje na základě uložených hodnot.
  2. Nejde zadat prázdnou reklamní plochu, leda nepředat kódu žádné parametry. To ale může vyvolat chybu. Nezkoušel jsem to.

Bod 2 může být problém se skrytou ale načtenou reklamou v malém rozlišení. V takovém případě bych asi doporučoval rozmístit reklamu jen do takových prvků webu, které se ani v nejmenší rozlišení neukrývají.

AdSense kód

Na rozdíl od OpenX řešení, pro AdSense je vhodnější dát detekci rozlišení před každou reklamní jednotku. Sice by šlo nastavit to i na začátku do různě pojmenovaných proměných, ale stejně by se před použitím konkrétní reklamní jednotky musely proměnné přiřazovat, takže zde volím jednoduchost. Řešení pro web nh6.cz na horní pozici by pak mohlo vypadat například takto:

<script type="text/javascript"><!--
google_ad_client = "ca-publisher-id";
/* top reklama */
screenwidth = document.documentElement.clientWidth;
if (screenwidth < 480) {
google_ad_slot = "kod-reklamniho-slotu-320x50";
google_ad_width = 320;
google_ad_height = 50;
  } else if ((screenwidth > 479) && (screenwidth < 768) ) {
google_ad_slot = "kod-reklamniho-slotu-468x60";
google_ad_width = 468;
google_ad_height = 60;   } else {
 google_ad_slot = "kod-reklamniho-slotu-728x90"; google_ad_width = 728;
google_ad_height = 90;
  } //-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

V kódu je třeba změnit kód publishera a pak také kódy jednotlivých reklamních slotů, aby odpovídaly správným AdSense velikostem. Samozřejmě v případě, že máte jinak definované hranice rozlišení, tak v podmínkách také upravit if podmínky.

Použité zdroje

[1] Amit AgarwalHow to use Google AdSense Ads on Responsive Websites
[2] Ryan Underdown - “responsive” ads with adsense