Jump to content

Проблема с кодом RTB


Recommended Posts

Подскажите пожалуйста уважаемые гуру. Решил воспользоваться кодом ниже:

 

<!-- Yandex.RTB R-A-XXXX-XX -->

<div id="rtbPoster"></div>

<script type="text/javascript">

 

var bw=document.getElementsByTagName("body")[0].offsetWidth;*

if (bw>=1400) {rtbBlockID = "R-A-XXXX-X1";} 

if (bw<=1399) {rtbBlockID = "R-A-XXXX-X2";}

if (bw<=1150) {rtbBlockID = "R-A-XXXX-X3";}

if (bw<=500) {rtbBlockID = "R-A-XXXX-X4";}

 

(function(w, d, n, s, t) {

w[n] = w[n] || [];

w[n].push(function() {

Ya.Context.AdvManager.render({

blockId: rtbBlockID,

renderTo: "rtbPoster",

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>

 

Естественно заменил R-A-XXXX-XX - на свои блоки. Вставил как обычно через виджет на сайт. Но почему то блоки не показываются. Через CTRL+U вижу только строку:

 

<div id="rtbPoster"></div> и все. Почему не подгружается остальное?

Link to post
Share on other sites

Есть вопрос? Задай его профессиональным веб-мастерам, SEO и другим специалистам!

Не оставляйте сотрудников Яндекса без работы. Имейте совесть, напишите им в техподдержку.

 

Они мне все RTB блоки предлагают использовать или адаптивный блок. На моем сайте на порядок лучше работают именно баннеры

Link to post
Share on other sites

Отображение там начинается не сразу. А если много времени прошло и не показывается, то может в кабинете заблокировали случайно показ медийки, или, например, сузили круг потенциально откручиваемых размеров баннеров.

Link to post
Share on other sites

Отображение там начинается не сразу. А если много времени прошло и не показывается, то может в кабинете заблокировали случайно показ медийки, или, например, сузили круг потенциально откручиваемых размеров баннеров.

 

Вопрос не в том. Выводится только часть кода, а именно: <div id="rtbPoster"></div> 

Остального скрипта нет. Хотя его полностью в виджет вставил

Link to post
Share on other sites
Ребят. Столкнулся с такой проблемой. До этого стояла 4 блока Адсенсе. Поставил недавно вместо двух блоков 2 блока Директа. И просто ужаснулся, количество просмотров блоков adsense упало в 3 раза, как будто большинству пользователей реклама Адсенсе перестала просто показываться. У кого-нить было такое ?

 

Сразу поясню, что заменил, только блоки над статьей и под статьей. Те, что в body не трогал. Соответственно при том же трафике, количество показов рекламы в body должно быть одинаковым, но почему то упало в три раза. Сам заходил с разных блоков - все отрисовывается. 

Link to post
Share on other sites
Может кому пригодиться, сам вот так более или менее достиг адаптивности:

 

 RTB адаптивность работает только для блоков Директа. Медийные баннеры не адаптируются в зависимости от размера экрана.

 

Для реализации адаптивности в RTB блоках мы можем использовать три RTB блока. В одном из них нужно выбрать медийные форматы 300х300 и 300х250 и вертикальный Постер из 1го объявления, во 2-м  медийные форматы 300х300, 300х250 и 336x280 и горизонтальный Постер из 2х объявлений, а в 3-м медийный формат 728х90 и горизонтальный Постер из 3х объявлений.

 

В смартфонах будет отображаться блок размером 300х300 или 300х250 и вертикальный Постер, для устройств с максимальным размером экрана 728px будет отображаться блок размером 300х300, 300х250 и 336x280 и Постер из 2х объявлений, для ПК будет отображаться блок размером 728х90 и горизонтальный Постер из 3х объявлений.

 

Код для размещения:

 

<div style="text-align:center;">

<div id="yandex_ad" style="display: inline-block;"></div>

</div>

<script type="text/javascript">

(function(w, d, n, s, t) {

if (window.matchMedia("only screen and (max-device-width: 440px)").matches){var m= "R-12345-1";}

else if(window.matchMedia("only screen and (max-device-width: 728px)").matches){var m= "R-12345-2";}

else{var m= "R-12345-3";}

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" и  m= "R-12345-3").
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...