"Vendendo uma garagem": fachada e publicidade em hh.ru

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.





Soa como um plano
Sounds like a plan

backend- RPS, frontend web-. , WoW , . :





. hh 4- ( xs/s/m/l). , CSS.





Home hh.ru
hh.ru

, ( ) , . ( ).





, , . . , . , 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 ( ).





, DFP , . , GPT , . , "".





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 . , .








All Articles