Обновите Div, в котором есть реклама Google - PullRequest
40 голосов
/ 12 января 2009

У меня есть <div> с рекламой Google. Мой сайт в основном AJAX и нет необходимости обновлять браузер. Это означает, что мои объявления также не будут обновляться, что не идеально, если пользователь весь день смотрит на одно объявление.

Итак, я хотел, чтобы обновить страницу <div>. Я нашел много решений, но они не работали. Например, используя html-функцию JQuery:

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

Это удалось обновить всю страницу, не зная как. Я также могу сделать запрос AJAX на HTML-страницу, содержащую объявление Google, но я предполагаю, что он будет иметь тот же эффект, что и предыдущая попытка.

Я не хочу использовать iFrames.

Есть ли другой вариант, открытый для меня? Мой гороховый мозг больше не может думать. :)

EDIT:

Это разрешено, поскольку я буду инициировать обновление только тогда, когда пользователь щелкнет ссылку.

Ярким примером является Yahoo Mail - в их новом почтовом ящике AJAX используется тот же метод: когда пользователь нажимает на ссылку, появляется новое объявление.

Ответы [ 7 ]

49 голосов
/ 14 января 2009

Как утверждают оба других ответа, автоматическое обновление рекламы AdSense не разрешено. Я понимаю, что вы намереваетесь обновить объявление только в ответ на действия пользователя, но оно все же не разрешено, даже если оно должно быть!

Помните, что причина, по которой вы хотите обновить рекламные объявления, заключается в том, что вы можете показывать новые. Показ рекламы называется «показом». Когда вы используете код для обновления объявлений, вы автоматически генерируете показы объявлений.

Правила программы AdSense состояние (выделено мной):

Недействительные клики и показы

Клики по объявлениям Google должны быть вызваны подлинным интересом пользователя. Любой метод, который искусственно генерирует клики или показы в ваших объявлениях Google, строго запрещен. Эти запрещенные методы включают, но не ограничиваются, повторные ручные клики или показы, с использованием роботов, инструментов автоматического создания кликов и показов, сторонних службы, которые генерируют клики или показы, такие как программы с оплатой за клики, с оплатой за просмотр, с автоматическим поиском и обменом кликами, или любое обманчивое программное обеспечение.

Обновление вашей рекламы является нарушением буквы правила против создания показов. С учетом сказанного, я думаю, что любой разумный человек согласится с тем, что обновление рекламы в приложении AJAX в ответ на поведение пользователя (например, в ответ на щелчок) не является нарушением духа правила.

Например, представьте, что вы переписываете все свое приложение, чтобы перестать использовать AJAX. Это явно хуже для ваших пользователей (медленнее, страница мигает при каждом нажатии, страница не может динамически обновляться в фоновом режиме), но по техническим причинам это не является нарушением правил программы AdSense.

Очевидно, что Google означал , чтобы запретить автоматическую замену рекламных объявлений каждые пять секунд (создавая «слайд-шоу» рекламных объявлений). Google также хотел запретить делать ваш сайт более привлекательным для рекламодателей, так как количество посещений превышает количество ваших посещений. Я уверен, что они не намеревались помешать вам создать высокопроизводительный веб-сайт AJAX ... но, к сожалению, иногда правила имеют непредвиденные последствия.

Конечно, как вы изначально указывали, вы МОЖЕТЕ обновить свои рекламные объявления, если вы вставите их в iframe и измените их местоположение. ( Вот как использовать iframes в приложении AJAX для обновления AdSense .)

Вы отклонили iframes в своем первоначальном вопросе, возможно, потому, что знали, что использование iframes нарушит политику Google ... но если вы настаиваете на нарушении правил, вы могли бы также нарушить их полностью! ; -)

В конечном счете, я думаю, вы обнаружите, что создание показов таким способом не стоит риска: вы «обновите» объявления только для того, чтобы убедиться, что Google просто показывает вам точно такие же объявления, как и раньше.

25 голосов
/ 23 августа 2012

Новые теги Google DFP позволяют специально обновлять объявления для AJAX

обновить

pubService.refresh (слоты) Обновляет указанный массив слотов на странице новыми объявлениями.

Параметры:

массив слотов - необязательный массив слотов для обновления. Если они не указаны, все рекламные места обновляются. Пример:

var slot1 = googletag.defineUnit ("/ 1234567 / таблица лидеров", [728, 90], "div-1"). AddService (googletag.pubads ());

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

// При вызове обновления выбирается новое объявление для каждого рекламного места

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

1 голос
/ 07 мая 2010

Я знаю, что полтора года опаздываю на вечеринку, но ... Возможно, проблема с рекламой в том, что они используют document.write (рекламные серверы печально известны этим, но я не знаю, использует ли его AdSense или нет.)

Если это так, у меня есть библиотека, которая может помочь: writeCapture.js . Пример:

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

Используется jQuery, но есть и отдельная версия.

Что касается нарушения TOS ... Gmail динамически меняет рекламу, поэтому все не так плохо. Пока контент меняется, я думаю, что все в порядке.

0 голосов
/ 16 января 2019

Вы можете обновить рекламные места Google с помощью следующего кода. Поместите это в функцию JS, которую вы хотите обновить рекламу. Это должно обновить все объявления на странице.

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

Справка Google Ad Manager - Перезагрузка объявлений без обновления страницы

0 голосов
/ 04 декабря 2009

Просто включите рекламу на страницах, которые вы загружаете через ajax. Не может быть ничего плохого в загрузке рекламы из файла через ajax для каждой страницы.

если я загружаю файл Read.inc, в котором есть контент и реклама Нажмите что-нибудь на странице, и вы попадете на сайт Make.inc, в котором есть реклама и объявление.

Что с этим не так? Это органично. Одна загрузка с рекламой как частью контента.

Это то же самое, что щелкнуть ссылку.

На самом деле я еще не пробовал, но это, конечно, кажется логичным.

0 голосов
/ 12 января 2009

Это не разрешено. но я думаю, что вы можете использовать для этого iframe. Я видел хорошие уроки этого. Я попытался сделать это с помощью ajax, откатив свои изменения для AdSense TOS

0 голосов
/ 12 января 2009

Запрещено (согласно условиям AdSense) пытаться перезагрузить рекламу в течение жизненного цикла страницы. Кроме того, это вряд ли возможно (благодаря архитектуре платформы).

...