Se o seu projeto público possui um público impressionante, seus usuários certamente se interessarão por sistemas de publicidade. As empresas, mais cedo ou mais tarde, percebem isso e, naturalmente, tentam extrair alguns lucros.
Por coincidência, na maioria das vezes eu estava envolvido no desenvolvimento de interfaces para serviços de publicidade em hh.ru. Neste artigo, você não encontrará uma descrição de nenhuma tecnologia inovadora, este material é mais sobre como construir interação com empreiteiros (no contexto de um sistema interno de publicidade) e não cair em um cuco.
Como funciona
Assim, o cliente chega à equipe e diz a cobiçada palavra “banners”. O líder da equipe procura o tempo em sua agenda para a próxima reunião e os requisitos começam a se formar.
web " ", . , "" , . , url/image/description. , , , iframe.
backend- RPS, frontend web-. , WoW , . :
, ( ) , . ( ).
, , . . , . , serp_first_l L (serp - search engine result page).
, . .
banners.add(
pages=['vacancy_search_result'],
banner_ids={
BannerPlaces.SERP_FIRST_L: [1],
BannerPlaces.SERP_FIRST_M: [2],
BannerPlaces.SERP_FIRST_S: [3],
BannerPlaces.SERP_FIRST_XS: [4],
BannerPlaces.SERP_SECOND_L: [5],
BannerPlaces.SERP_SECOND_M: [6],
BannerPlaces.SERP_SECOND_S: [7],
BannerPlaces.SERP_SECOND_XS: [8],
},
)
, — , id , ( , serp_first_l). , id , .
: , global store setup, setup- .
, CSS. dom , . . , .
: ( , callback , ). , callback, AJAX- .
const visibilityWatcher = ({ element, onVisible }) => {
let visible = false;
const checkVisible = () => {
if (visible) {
return;
}
visible =
element.offsetWidth ||
element.offsetHeight ||
element.getClientRects().length;
if (visible) {
onVisible();
window.removeEventListener('resize', checkVisible);
element.dataset.listenersSetted = 'false';
}
};
if (element.dataset.listenersSetted !== 'true') {
window.addEventListener('resize', checkVisible);
element.dataset.listenersSetted = 'true';
}
checkVisible();
};
( javascript ). , : , .
, , . hh.ru iframe .
. .
Google Ad Manager
, Ad Manager — . Google , , ( , ..). DFP ( Ad Manager) , .
GPT (GPT Google Publisher Tags — javascript Ad Manager). , ad unit ( ).
Ad Manager : - 20%. DFP view hh.ru . .
CPU, Chrome?!
. , . , , . har …
, — . . Javascript CPU . , .
, observer. , . okmeter alerts, , .
, , ,
, : . . har. ( ) pop-up , .
, ( ), , adblock . , pop-up. - — , .
?
( ). . , , .
GAM (Google Ad Manager), , . , 300 . , .