Настроить блок только для показа на мобильных?

12
ijk
На сайте с 19.08.2007
Offline
159
ijk
4028

На сайте примерно пополам трафика с 1280+ широкоэкранок и с 320-х дисплеев. Вся информация адаптивна, а вот рекламу хотелось бы размещать по-разному. Есть ли возможность в РСЯ настроить показ блока только для определённых разрешений экрана?

STMike
На сайте с 29.03.2010
Offline
107
#1

Стандартными средствами РСЯ нельзя.

ijk
На сайте с 19.08.2007
Offline
159
ijk
#2
STMike:
Стандартными средствами РСЯ нельзя.

Не подскажете, как грамотно выйти из такой ситуации?

STMike
На сайте с 29.03.2010
Offline
107
#3

ijk

Поддержка РСЯ предлагает код, куда можно прописать 2 номера блоков и при заходе с декстопа будет показываться блок 728х90, при заходе с мобильного блок с шириной 300 пикселей.

В движке DLE например можно попробовать разные блоки выводить через теги [spartphone] и [desktop]. Если ИП и доход большой можно попробовать через Adfox, у них вроде можно в зависимости от устройств выводить разный рекламный код.

Я вчера сделал так. Вывел вертикальный блок из одного объявления и заблокировал в нем медийную рекламу. А в css задал размеры шрифта, чтобы при заходе с мобильника был 14 пикселей, с планшета побольше, с компьютере еще больше. Блок растягивается и сжимается без проблем.

ijk
На сайте с 19.08.2007
Offline
159
ijk
#4
STMike:
ijk
Поддержка РСЯ предлагает код, куда можно прописать 2 номера блоков и при заходе с декстопа будет показываться блок 728х90, при заходе с мобильного блок с шириной 300 пикселей.

А этот код опубликован где-нибудь?

STMike
На сайте с 29.03.2010
Offline
107
#5
ijk:
А этот код опубликован где-нибудь?

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

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

<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: 728px)").matches){var m= "R-12345-1";}

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

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").

ijk
На сайте с 19.08.2007
Offline
159
ijk
#6
STMike:
Для реализации адаптивности в RTB блоках мы можем использовать два RTB блока.

Супер, спасибо за код. По сути мою исходную задачу можно тем же способом решить — поставить JS проверку на мобильность и рендерить RTB-блок только в этом случае.

Ещё мне важно было выяснить, что такой способ не противоречит никаким политикам РСЯ. Если источник — СП Яндекса, то вряд ли.

STMike
На сайте с 29.03.2010
Offline
107
#7

В соседней теме про RTB этот код уже выкладывали, ребята тоже спрашивали у поддержки и им его присылали.

KB
На сайте с 10.08.2006
Offline
164
KGB
#8

<div id="yandex_ad"></div>

<script type="text/javascript">
(function(w, d, n, s, t) {
var rtbW = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
if ( rtbW <= 728 ){
var rtbRenderTo = "yandex_ad"; var rtbBlockID = "R-A-12345-1";
}else{
var rtbRenderTo = ""; var rtbBlockID = "";
}
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: rtbBlockID,
renderTo: rtbRenderTo,
async: true
-------------------
ijk
На сайте с 19.08.2007
Offline
159
ijk
#9
гладиолуз:
так а что мешает через css стили запретить на всех разрешениях кроме мобильных?

это же просто делается

Хотелось узнать best practices в этом вопросе, чтобы с одной стороны не изобретать велосипед, а с другой — не сделать чего-нибудь противоречащее политикам РСЯ.

Буду благодарен, если поделитесь CSS кодом. Думаю это будет полезно и другим форумчанам.

STMike
На сайте с 29.03.2010
Offline
107
#10
гладиолуз:
так а что мешает через css стили запретить на всех разрешениях кроме мобильных?

Имеете в виду что блок будет загружаться, но через CSS скрываться в display none?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий