Wie erkenne ich die Dimensionen der bereitgestellten Anzeigen?

8

Ich verwende derzeit Google Publisher-Tags mit DFP, um Anzeigen auf einer Website bereitzustellen, die in Kürze reagieren wird. Wir haben eine bestimmte Anzeigenfläche, die potenziell zwei mögliche Breiten bieten kann, 728 oder 960, und je nachdem, welche Breite geliefert wird, möchte ich die Anzeige entweder über oder unter dem Nav rendern.

Die offensichtliche erste Frage ist also, ob das überhaupt vernünftig ist und ob es auch möglich ist? Ich vermute, ich sollte wahrscheinlich zwei verschiedene Anzeigenflächen definieren.

Die primäre Frage, die wahrscheinlich eher akademischer Natur ist, ist, wie kann ich die Dimensionen einer Anzeige erkennen, die geliefert wurde? Ich vermute, dass die Lösung für die Ad-Plattform agnostisch ist, da ich grundsätzlich Knoteneinfügung erkannt habe und dann die Abmessungen des Containerelements überprüfe.

Ich habe mit dem JavaScript-Ereignis DOMNodeInserted experimentiert, scheint aber für alles "ABER" die Werbung auszulösen. Ich bin verwirrt, es sei denn, gpt fügt die Anzeigen so ein, dass dieses Ereignis nicht ausgelöst wird.

    
sphoid 11.09.2012, 17:20
quelle

4 Antworten

5

Ich habe so etwas schon einmal gemacht ... und die Methode, auf die ich mich eingelassen habe, war das Überschreiben einer internen DFP-Funktion (renderEnded), damit ich sehen konnte, was die Anzeige an dem Punkt war, den sie auf dem Bildschirm gerendert hatte ...

Um beispielsweise die Abmessungen der Anzeige zu erhalten, könnten Sie Folgendes tun (ich habe es nur in Chrome getestet, aber es sollte nicht zu weit vom Browser entfernt sein):

%Vor%

Das ist vielleicht nicht ganz das, wonach Sie suchen, aber das Überschreiben dieser Funktion sollte Sie dahin bringen, wo Sie sein müssen ... lassen Sie es mich wissen, wenn Sie irgendwelche Fragen haben.

    
Matt Cooper 12.09.2012, 08:48
quelle
10

Es gibt ein Update für GPT, das dies auf elegantere Weise ermöglicht. Das Ereignis zeigt Ihnen an, ob ein Motiv zurückgegeben wurde, und wenn ja, welche Abmessungen sowie zusätzliche Informationen.

%Vor%

Es gibt auch event.isEmpty, das Sie darüber informiert, ob ein tatsächliches Creative zurückgegeben wurde oder nicht.

    
Ken 17.04.2014 17:52
quelle
0

Ich hatte ein ähnliches Problem auf WiiMusic.net mit Google AdSense. Am Ende habe ich festgestellt, wie groß der div ist, der die Anzeige enthält, und dann die Anzeige geladen. In dieser Situation war es nicht möglich, die Auflösung oder Größe meiner Seite zu ändern, sobald sie geladen wurde, also funktionierte das.

In Ihrer Situation kann Ihre Seite sicherlich die Größe ändern und was nicht. Ich denke, Sie müssen die Anzeigen zu diesem Zeitpunkt erneut laden, wenn Sie möchten, dass je nach Responsive Design unterschiedliche Anzeigenversionen angezeigt werden. Wenn Sie den asynchronen Anzeigencode verwenden, sollte dies möglich sein.

Um es zusammenzufassen, ja, das ist vernünftig und mit JavaScript möglich. Ihre Anzeigen erfordern, dass JavaScript trotzdem funktioniert. Das sollte keine große Barriere darstellen.

    
Brad 11.09.2012 17:24
quelle
0

Wie immer war ich weit darüber hinweg, dies zu denken. Der Grund, warum ich keine DOM-Änderung festgestellt habe, liegt darin, dass die Anzeige bereits eingefügt wurde, als ich Event-Handler zugewiesen habe. Beim gleichzeitigen Laden von Anzeigen kann ich sofort die Abmessungen des Container-DIV messen und die Anzeigenabmessungen abrufen. Wenn ich asynchron lade, kann ich nach inneren HTML-Änderungen fragen, indem ich den ursprünglichen HTML-Code unter Verwendung von und polling nach Änderungen ablege und die Messung des Container-Divs mache, wenn die Änderung eintritt. Danke Brad für deine Zeit.

    
sphoid 11.09.2012 18:09
quelle