web-dev-qa-db-de.com

Aktualisieren Sie eine Div, in der sich eine Google-Anzeige befindet

Ich habe einen <div>, der eine Google-Anzeige enthält. Meine Website ist meistens AJAX und es ist keine Browser-Aktualisierung erforderlich. Das bedeutet, dass meine Anzeigen auch nicht aktualisiert werden, was nicht ideal ist, da ein Nutzer den ganzen Tag auf eine Anzeige starrt. 

Also wollte ich einen bestimmten <div> auf einer Seite aktualisieren. Ich habe viele Lösungen gefunden, aber sie haben nicht funktioniert. Verwenden Sie beispielsweise die HTML-Funktion von JQuery:

$("#ads").html("google ad script here");

Dies gelang, die gesamte Seite zu aktualisieren, keine Ahnung wie. Ich kann auch eine AJAX -Anfrage an eine HTML-Seite senden, die die Google-Anzeige enthält. Ich vermute jedoch, dass dies den gleichen Effekt wie der obige Versuch hat.

Ich möchte keine iFrames verwenden.

Gibt es noch eine andere Möglichkeit für mich? Mein Erbsengehirn kann nicht mehr denken. :)

BEARBEITEN:

Dies ist zulässig, da ich die Aktualisierung nur dann initiiere, wenn ein Benutzer auf einen Link klickt.

Ein hervorragendes Beispiel ist Yahoo Mail. Ihr neues Postfach AJAX verwendet dieselbe Methode. Wenn ein Benutzer auf einen Link klickt, wird eine neue Anzeige angezeigt.

40
Abs

Wie in beiden anderen Antworten angegeben, ist das automatische Aktualisieren Ihrer AdSense-Anzeigen nicht zulässig. Ich verstehe, dass Sie die Anzeige nur als Reaktion auf eine Benutzeraktion aktualisieren möchten, aber noch ist nicht zulässig, auch wenn es sein sollte!

Denken Sie daran, dass Sie die Anzeigen aktualisieren möchten, um neue anzeigen zu können. Das Anzeigen einer Werbung wird als "Impression" bezeichnet. Wenn Sie zum Aktualisieren der Anzeigen Code verwenden, generieren Sie automatisch Anzeigenimpressionen.

Richtlinien für das AdSense-Programm state (Schwerpunkt Mine):

Ungültige Klicks und Impressionen

Klicks auf Google-Anzeigen müssen auf echtes Nutzerinteresse zurückzuführen sein. Jede Methode, die künstlich Klicks oder Impressionen in Ihren Google-Anzeigen generiert, ist strengstens untersagt. Zu diesen verbotenen Methoden gehören unter anderem wiederholte manuelle Klicks oder Impressionen, die Verwendung von Robotern, automatisierte Tools zum Generieren von Klicks und Impressionen sowie Drittanbieter-Services, die Klicks oder Impressionen generieren, z , autosurf und click-exchange-Programme oder jede betrügerische Software.

Das Aktualisieren Ihrer Anzeigen verstößt gegen das Generieren von Impressionen. Ich denke, dass jede vernünftige Person damit einverstanden ist, dass das Aktualisieren von Werbung in einer AJAX app als Reaktion auf das Nutzerverhalten (zB als Reaktion auf einen Klick) keine Verletzung der Geist der Regel.

Stellen Sie sich beispielsweise vor, Sie müssen Ihre gesamte App umschreiben, um AJAX nicht mehr zu verwenden. Dies ist eindeutig eine schlechtere Erfahrung für Ihre Nutzer (sie ist langsamer, die Seite blinkt bei jedem Klick, die Seite kann nicht dynamisch im Hintergrund aktualisiert werden), ist aber aus technischen Gründen keine Verletzung der AdSense-Programmrichtlinien.

Offensichtlich Google gemeint, um das automatische Ersetzen der Werbung alle fünf Sekunden zu unterbinden (Erstellen einer "Diaschau" von Werbung). Google wollte auch verhindern, dass Ihre Website für Werbetreibende attraktiver wird, indem sie mehr Besuche zu haben scheint, als Sie tatsächlich haben. Ich bin mir sicher, dass sie nicht beabsichtigt waren, um Sie daran zu hindern, eine hochleistungsfähige AJAX-Website zu entwerfen ..., aber leider haben Regeln manchmal unbeabsichtigte Folgen.

Wie Sie ursprünglich erwähnt haben, KÖNNEN Sie Ihre Werbung natürlich auch aktualisieren, wenn Sie sie in einen iframe einbetten und deren Position ändern. ( So verwenden Sie iframes in einer AJAX -Anwendung zum Aktualisieren von AdSense .)

Sie haben in Ihrer ursprünglichen Frage Iframes zurückgewiesen, vielleicht, weil Sie wussten, dass die Verwendung von Iframes die Richtlinien von Google verletzen würde. Wenn Sie jedoch darauf bestehen, gegen die Regeln zu verstoßen, könnten Sie sie genauso gut brechen! ;-)

Ich denke, Sie werden feststellen, dass das Erzeugen von Impressionen auf diese Weise das Risiko nicht wert ist: Sie "aktualisieren" nur die Anzeigen, um festzustellen, dass Google Ihnen genau die gleichen Anzeigen wie zuvor anzeigt.

48
Dan Fabulich

Die neuen Google DFP-Tags ermöglichen speziell die Aktualisierung von Anzeigen für AJAX.

aktualisierung

pubService.refresh (slots) Aktualisiert das angegebene Array von Slots auf der Seite mit neuen Anzeigen.

Parameter:

array-Slots - Optionales Array mit Slots zum Aktualisieren. Wenn nicht angegeben, werden alle Anzeigenflächen aktualisiert. Beispiel:

var slot1 = googletag.defineUnit ("/ 1234567/leaderboard", [728, 90], "div-1"). addService (googletag.pubads ());

var slot2 = googletag.defineUnit ("/ 1234567/skyscraper", [160, 600], "div-2"). addService (googletag.pubads ());

// Der Aufruf zum Aktualisieren ruft eine neue Anzeige für jeden Slot ab

googletag.pubads (). refresh ([slot1, slot2]); http://support.google.com/dfp_sb/bin/answer.py?hl=de&answer=2372721&expand=pubservice_details#refresh

25
Appmerce

Ich weiß, dass ich mich eineinhalb Jahre verspätet habe, aber ... Es ist möglich, dass das Problem mit den Anzeigen darin besteht, dass sie document.write verwenden (Ad-Server sind dafür notorisch, aber ich weiß nicht, ob AdSense verwendet Es oder nicht.)

Wenn das der Fall ist, habe ich eine Bibliothek, die helfen kann: writeCapture.js . Beispiel:

$('#ads').writeCapture().html('<script src="whatever-your-adsense-code-is"> </script>');

Das ist jQuery, aber es gibt auch eine Standalone-Version.

Ob es sich um eine TOS-Verletzung handelt ... Google Mail ändert die Anzeigen dynamisch, sodass es nicht so schlimm sein kann. Solange sich auch der Inhalt ändert, würde ich denken, dass es in Ordnung war.

1
noah

Sie können die Google-Anzeigenslots mit dem folgenden Code aktualisieren. Fügen Sie dies in die JS-Funktion ein, in der Sie die Anzeigen aktualisieren möchten. Es sollte alle Anzeigen auf der Seite aktualisieren.

if ( undefined !== googletag ) {
  googletag.pubads().refresh();
}

Google Anzeigen-Manager-Hilfe - Anzeigen ohne Aktualisierung der Seite neu laden

0
Warwick