IgorIP

Рейтинг
23
Регистрация
18.11.2016
IgorIP:
<div id="yandex_ad" style="margin:0 auto;"></div>
<script type="text/javascript">
(function(w, d, n, s, t) {
if (window.matchMedia("only screen and (max-device-width: 728px)").matches){var m= "R-12345-1"; document.getElementById("yandex_ad").style.width = "300px";}
else{var m= "R-12345-2"; document.getElementById("yandex_ad").style.width = "728px";}
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: m,
renderTo: "yandex_ad",
async: true
});
});
t = d.getElementsByTagName("script")[0];
s = d.createElement("script");
s.type = "text/javascript";
s.src = "//an.yandex.ru/system/context.js";
s.async = true;
t.parentNode.insertBefore(s, t);
})(this, this.document, "yandexContextAsyncCallbacks");
</script>

Попробовал у себя этот код. Показывает на смартфоне и ПК один и тот же блок. Что в нем не так?

(max-device-width: 728px) надо заменить на (max-width: 728px) , тогда на ПК и смартфоне показывает разные блоки

KGB:
В каком месте правил это написано?
Я вижу только это https://support.google.com/adsense/answer/1346295#Displaying_a_third-party_site_on_your_page
Цитата:
Некоторые сайты содержат окна или фреймы со страницами других ресурсов. Добавлять объявления Google на такие страницы строго запрещено.

Как я уже писал чуть раньше:

Ставил код Адсенс в качестве заглушки блока РТБ и выставлял порог СРМ. В статистике Адсенс появился у меня новый сайт yandex.ru. Статистика по блокам показывала, что доход по блоку заглушки Адсенс начислен. Но в общей статистике площадки этот доход не учитывался. Думаю, что статистика Адсенса считала, что мой код заглушки блока Адсенс стоит на чужом сайте yandex.ru. Почитал здесь на форуме о запрете установки Адсенса в iframe РТБ и убрал Адсенс из РТБ. От греха подальше.

То есть, статистика Адсенс видит мой код заглушки РТБ стоящим на другом сайте yandex.ru. Что, как Вы правильно указали, строго запрещено!

Ставил код Адсенс в качестве заглушки блока РТБ и выставлял порог СРМ. В статистике Адсенс появился у меня новый сайт yandex.ru. Статистика по блокам показывала, что доход по блоку заглушки Адсенс начислен. Но в общей статистике площадки этот доход не учитывался. Думаю, что статистика Адсенса считала, что мой код заглушки блока Адсенс стоит на чужом сайте yandex.ru. Почитал здесь на форуме о запрете установки Адсенса в iframe РТБ и убрал Адсенс из РТБ. От греха подальше.

webliberty:
Тоже задавал такой вопрос, ответ на него:

Для реализации адаптивности в RTB блоках можно использовать два RTB блока. В одном из них нужно выбрать форматы 300х300 и 300х250, а в другом 728х90.

В смартфонах будет отображаться блок размером 300х300 или 300х250, а для планшетов и ПК блок размером 728х90.

<div id="yandex_ad" style="margin:0 auto;"></div>
<script type="text/javascript">
(function(w, d, n, s, t) {
if (window.matchMedia("only screen and (max-device-width: 728px)").matches){var m= "R-12345-1"; document.getElementById("yandex_ad").style.width = "300px";}
else{var m= "R-12345-2"; document.getElementById("yandex_ad").style.width = "728px";}
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: m,
renderTo: "yandex_ad",
async: true
});
});
t = d.getElementsByTagName("script")[0];
s = d.createElement("script");
s.type = "text/javascript";
s.src = "//an.yandex.ru/system/context.js";
s.async = true;
t.parentNode.insertBefore(s, t);
})(this, this.document, "yandexContextAsyncCallbacks");
</script>

Для переменной m нужно указать id блока (в данном примере m= "R-12345-1" и m= "R-12345-2").

Попробовал у себя этот код. Показывает на смартфоне и ПК один и тот же блок. Что в нем не так?

Для реализации адаптивности в RTB блоках можно использовать два RTB блока. В одном из них нужно выбрать форматы 300х300 и 300х250, а в другом 728х90.

В смартфонах будет отображаться блок размером 300х300 или 300х250, а для планшетов и ПК блок размером 728х90.

<div id="yandex_ad" style="margin:0 auto;"></div>

<script type="text/javascript">
(function(w, d, n, s, t) {
if (window.matchMedia("only screen and (max-device-width: 728px)").matches){var m= "R-12345-1"; document.getElementById("yandex_ad").style.width = "300px";}
else{var m= "R-12345-2"; document.getElementById("yandex_ad").style.width = "728px";}
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: m,
renderTo: "yandex_ad",
async: true
});
});
t = d.getElementsByTagName("script")[0];
s = d.createElement("script");
s.type = "text/javascript";
s.src = "//an.yandex.ru/system/context.js";
s.async = true;
t.parentNode.insertBefore(s, t);
})(this, this.document, "yandexContextAsyncCallbacks");
</script>

Для переменной m нужно указать id блока (в данном примере m= "R-12345-1" и m= "R-12345-2").

Я использую скрипты для обычного блока РСЯ и для RTB, пример на форуме в этой ветке /ru/forum/944288 . Если display:none; то объявления все равно будут загружаться, а это плохо.

Спасибо! Скрипт работает с обычным блоком RTB. Но не работает с асинхронным. Может подскажете скрипт для асинхронного RTB

1 234
Всего: 37