Mam zmodyfikowaną wersję GPT (Tagi wydawcy Google), więc wyświetla reklamy w rozmiarze na telefony i tablety, a inne w przypadku komputerów lub większych ekranów. Działa dobrze, ale rozmiary są określane na podstawie obciążenia i podczas używania tabletu reklamy pozostają takie same, niezależnie od tego, czy przechodzisz z widoku poziomego na pionowy. Dodałem kod, aby dynamicznie odświeżać reklamy na rozmiarach w oknach i działa jak odświeżający, ale rozmiary są nadal ustalane (zakładam) pod względem obciążenia i rozmiary reklam się nie zmieniają. Jak mogę odświeżyć/przeładować zmienne (rozmiar i rozmiar2) na rozmiar okna przed odświeżeniem reklam?
Jest to kod:Wyświetlanie reklam w usłudze DFP w pełni responsywnej
<script type='text/javascript'>
googletag.cmd.push(function() {
var width = document.documentElement.clientWidth;
var size;
if (width >= 320 && width < 728)
size = [320, 50]; // smartphones
else
size = [728, 90]; // desktops and tablets
var size2;
if (width >= 320 && width < 728)
size2 = [180, 150]; // smartphones
else
size2 = [160, 600]; // desktops and tablets
var slot1=googletag.defineSlot('/XXXXXXX/tp_home_topboard', size, 'div-gpt-ad-1380075538670-3').addService(googletag.pubads());
var slot2=googletag.defineSlot('/XXXXXXX/tp_home_skyscraper', size2, 'div-gpt-ad-1380222668349-0').addService(googletag.pubads())
googletag.pubads().enableSingleRequest();
googletag.enableServices();
$(window).resize(function(){googletag.pubads().refresh([slot1, slot2])});
});
</script>
Czy próbowali za pomocą synchronicznych tagów zamiast async? Dzięki asynchronizacji DFP ładuje elementy iframe jako elementy zastępcze. Dzięki tagom synchronizacji kod jest wstrzykiwany bezpośrednio na stronę, co może pozwolić na elastyczność, której potrzebujesz. – Khan