Монетизация по рекламной модели через Appodeal

в 16:31, , рубрики: медийная реклама, мобильная реклама, Монетизация мобильных приложений, монетизация приложения, нативная реклама, разработка мобильных приложений, реклама, Тестирование мобильных приложений

Монетизация по рекламной модели через Appodeal / Хабрахабр

var N = 5;
var ar_duo1 = Math.floor(Math.random()*N+1);

if (typeof adriver == 'undefined')
{
var adb1 = 'yes';
}

var user_type = 'guest';

var page_type = "publish_corp";

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-726094-1', 'auto');
ga('create', 'UA-726094-24', 'auto', {'name': 'HGM'});

ga('require', 'displayfeatures');
ga('set', 'dimension1', user_type); // user type - guest/readonly/habrauser

ga('set', 'dimension4', adb1);

ga('set', 'dimension5', page_type);

if(typeof removeUtms === 'undefined') {
removeUtms = function(){};
}

ga('HGM.set', 'dimension1', user_type);
ga('HGM.set', 'dimension2', "habrahabr");
ga('HGM.send', 'pageview');

ga('send', 'pageview', { 'hitCallback': removeUtms });

var adcm_config ={
id:1034,
platformId: 34,

tags: ['hub_mobile_monetization', 'hub_display_adv', 'hub_mobile_testing', 'hub_mobile_dev', 'g_accounting_and_financial_software', 'g_project_management_software', 'g_technology_news', 'g_mobile_os', 'g_android_os', 'g_apple_ios', 'g_windows_mobile_os', 'g_web_stats_and_analytics', 'g_affiliate_programs', 'g_search_engine_optimization_and_marketing', 'g_programming'],
init: function () {
window.adcm.call();
}
};

Огромное количество разработчиков мобильных приложений предпочитают монетизировать свои продукты по рекламной модели, а значит, озабочены выбором оптимального пути продажи рекламы: через сеть, RTB-биржу и т.п. В этой статье мы подробно расскажем о сервисе Appodeal, который берет на себя решение большей части вопросов по монетизации через рекламу.

Сервис медиации – это посредник между рекламными сетями и разработчиками мобильных приложений, который облегчает монетизацию через рекламу. Безусловно, Appodeal – не единственный инструмент медиации на рынке, у него есть много конкурентов: Fyber, MoPub, AdMob, AdToApp, Chartboost, Heyzap и другие. Если отвлечься от сравнения особенностей и алгоритмов работы этих сервисов, сам по себе инструмент для медиации, при условии корректной его работы, делает работу с рекламой в приложении гораздо проще. Как минимум, разработчик получает одну "точку входа" для работы с несколькими рекламными сетями, а также повышает заполняемость (fill rate) приложений рекламой. Кроме того, медиационные сервисы способны решать множество других задач вроде анализа эффективности рекламных кампаний и оптимизации дохода от них.

Ключевой особенностью Appodeal является аукционная модель работы – каждый показ рекламы в подключенных к сервису приложениях разыгрывается на аукционе в режиме реального времени среди всех доступных рекламных сетей и DSP. Показ получает та, что предложит максимальную ставку. Кроме того, Appodeal ориентируется на разработчиков, а не на рекламные сети, и поэтому предлагает минимизацию ручных настроек, подключение инструмента и всех рекламных сетей через единый SDK, а также не берет комиссий с издателя приложения (доходы по официальной информации сервис получает от продажи трафика в клиентских приложениях прямым рекламодателям и через RTB-биржи). Подробнее об отличиях Appodeal – далее в статье.

Сервис появился на рынке около года назад, причем стартовал он как внутренний проект компании, занимающейся мобильной разработкой под Android и iOS. Целью этого внутреннего продукта была оптимизация работы с рекламой в собственных приложениях компании. Но практически сразу было принято решение выводить сервис на рынок под самостоятельным брендом.

Поначалу мы с Павлом Голубевым, CEO Appodeal, работали над проектом самостоятельно, покрывая все – стратегию, продажи, маркетинг, пиар, дизайн, бухгалтерский учёт, юридические вопросы, поднятие инвестиций, и так далее, при этом продолжая строить и полировать продукт с помощью наших талантливых и трудолюбивых программистов. Приходилось работать постоянно, по 12-14 часов в день, без отдыха и выходных. Было тяжело, но всё делалось с любовью. Компания разрасталась, и мы начали учиться на собственных ошибках. У нас была простая стратегия: если ты не сделал ни одной ошибки в неделю, значит, ты плохо делаешь свою работу. По мере роста появились новые сложности: находить людей, обучать их, учиться делегировать и доверять другому. Мы изучали новые территории построения бизнеса, учились передавать знания и информацию более эффективно. Наши сотрудники сейчас находятся в разных точках планеты и в разных часовых поясах, но мы стараемся держать всех в курсе развития продукта и компании с помощью еженедельных звонков и переписки в публичных каналах Slack.
Наталья Портиер, COO Appodeal

Сегодня Appodeal уже заявил о себе на рынке мобильной рекламы. Он сотрудничает с более чем 30 рекламными сетями, поддерживает множество форматов от баннеров до нативной рекламы и предлагает выплату вознаграждения по запросу паблишера. Кроме того, сервис позволяет повышать eCPM рекламы за счет использования так называемых "подсадных уток" – в ходе аукциона за трафик среди рекламодателей используются механизмы, заставляющие "выигравшего" заплатить ровно столько, сколько он заявлял в своей ставке, а не "вторая ставка + 1 цент".

О различных аспектах интеграции и использования Appodeal нам рассказали специалисты компании.

Монетизация по рекламной модели через Appodeal - 1

Appodeal
Степан Соловьев, директор Appodeal Россия;
Дмитрий Усаков, руководитель отдела разработки клиентского SDK;
Сергей Мелкомуков, руководитель службы технической поддержки.

Вопрос:
Расскажите, пожалуйста, о видах доступной рекламы.
Appodeal:
Мы даём доступ к наиболее популярным форматам: к баннерам форматов 320x50, 728x90 и 300x250, интерстишиалам, skippable и non-skippable video, rewarded video, нативной рекламе, в том числе к нативному видео. Есть отдельный интерфейс для создания прямых кампаний, так что разработчик может дополнительно рекламировать свои приложения, а также работать с рекламодателями напрямую, используя наш ad server. Кроме того, мы внедряем новые форматы, если они перспективны и популярны у паблишеров, – так произошло с MREC-баннерами.

Вопрос:
Возможна ли кастомизация рекламы? Или только выбор из предопределенных шаблонов?
Appodeal:
Классические рекламные форматы типа баннеров сами по себе не предусматривают кастомизации. Они, хоть и приносят значительную часть дохода, постепенно отмирают. Им на смену приходит нативная реклама, которая позволяет кастомизировать рекламные блоки и открывает разработчику широкие возможности для экспериментов. Это помогает с одной стороны привлечь внимание пользователя, с другой – более органично встроить рекламу и повысить ее эффективность.

Монетизация по рекламной модели через Appodeal - 2

Приложение iOS и Android

Вопрос:
Расскажите, пожалуйста, о процессе интеграции.
Appodeal:
SDK Appodeal состоит из 10 строк кода, и на стандартную интеграцию в приложение уходит примерно час. А если паблишер хочет использовать более сложную механику работы с рекламой, мы подключаем к процессу интеграции ведущих разработчиков и службу поддержки.

До того как сделать Appodeal, мы занимались изданием мобильных игр и приложений. Поэтому мы понимаем, насколько важно сделать процесс интеграции максимально простым – разработчик должен создавать классные продукты, а не возиться с документацией дополнительных сервисов.

//Пример кода простой интеграции:
Appodeal.initialize((Activity) this, "appKey", Appodeal.INTERSTITIAL);
      Appodeal.setInterstitialCallbacks(new InterstitialCallbacks() {
          public void onInterstitialLoaded(boolean isPrecache) {
              Log.d("Appodeal", "onInterstitialLoaded");
          }
          public void onInterstitialFailedToLoad() { }
          public void onInterstitialShown() { }
          public void onInterstitialClicked() { }
          public void onInterstitialClosed() { }
      });
//When you want to show the ad
      if (Appodeal.isLoaded(Appodeal.INTERSTITIAL)) {
          Appodeal.show((Activity) this, Appodeal.INTERSTITIAL);
      }

$(document).ready(function(){
hljs.initHighlightingOnLoad();
});

.t264 .hljs {
background-color: ;
}

Вопрос:
Под какие мобильные платформы решено было интегрировать SDK?
Appodeal:
В январе 2015 года мы выпустили SDK для Android. Начали с него, потому что у нас была команда сильных специалистов и большой опыт работы с этой платформой. SDK для iOS вышел в июне 2015 года, а в июне 2016 мы выпустили SDK для tvOS. На сегодня мы поддерживаем следующие фреймворки: Unity, Cocos2d-x, Marmalade, PhoneGap, Gideros, Adobe AIR, Basic4Android, Cordova, Xamarin, Game Maker, Monkey X, Scirra Construct 2, libGDX.

Вопрос:
Сталкивались ли вы с какими-либо сложностями при разработке SDK?
Appodeal:
Конечно, не всегда просто выбрать технологическое решение. Например, SDK для iOS мы переделывали три раза. Первую версию выпустили в июне 2015. При разработке было допущено много ошибок, поэтому к осени мы сменили команду и переписали iOS SDK заново. В этом варианте ошибки были исправлены, но логика продукта осталась прежней, и для разработчиков, которые привыкли к интерфейсам рекламных сетей, она была не слишком удобна. Кроме того, в пиковые релизы эта версия весила до 0.5 Гб. С сентября по декабрь мы тестировали вторую версию SDK и наблюдали, как паблишеры работают с ней, какие трудности и вопросы у них возникают. На основе этих данных мы сделали третью версию SDK – она гораздо меньше по объему, поддерживает старую архитектуру и в то же время позволяет разработчику встраивать более сложные решения, кастомизировать работу с сетями, менять объем приложения с встроенным SDK.

Вопрос:
Как часто обновляется SDK, и что входит в эти обновления?
Appodeal:
Мы обновляем SDK для iOS и Android раз в месяц. За месяц, как правило, обновляется SDK у 4-5 рекламных сетей, появляются новые функции, исправляются баги, так что мы регулярно готовим большое обновление.

Помимо этого мы постоянно работаем над повышением качества работы SDK, подключаем сервисы аналитики, добавляем новых demand-партнеров и занимаемся внутренней оптимизацией. Мы отслеживаем проблемы, оптимизируем качество аукционов и загрузки рекламы, разбираемся с ошибками на стороне сеток – в случае проблем на стороне рекламной сети нам проще достучаться до нее, чем обычному пользователю. Иногда в таких ситуациях тоже приходится выпускать обновление SDK. Например, у приложения Хабра под Android возникли проблемы вскоре после интеграции – оно стало падать из-за проблем с рекламной сетью Pubnative. В течение 10 минут после сигнала от Хабра мы отключили для них SDK и перешли на server-server интеграцию, затем связались со службой поддержки Pubnative и сообщили им об проблеме, а после того, как сеть всё исправила, обновили SDK. От сообщения Хабра до полного решения проблемы прошло меньше трех суток.

Вопрос:
Почему паблишеры выбирают Appodeal?
Appodeal:
Мы разработали уникальный алгоритм распределения рекламных объявлений, который заставляет сети конкурировать за каждый отдельный показ рекламы в приложении. Благодаря этому разработчик может значительно увеличить доход от своего приложения. К тому же, Appodeal упрощает работу паблишера с рекламой: ему не нужно сравнивать все сети на рынке, выбирать подходящие, встраивать каждую из них в приложение и вручную включать/выключать в зависимости от результатов, – достаточно один раз интегрировать Appodeal. В результате доход становится выше, а времени на управление рекламным инвентарем нужно меньше: некоторые наши клиенты говорят, что у них освободилось до 40% рабочего времени.

Играет роль и то, что мы всегда на стороне разработчиков: не берем комиссий, проводим выплаты в любой день по запросу клиента, быстро реагируем на обращения в службу поддержки. Appodeal постоянно развивается – мы пристально следим за развитием ad tech и мобильной индустрии, анализируем новые технологии и сервисные решения с точки зрения разработчика, доводим их до идеала и встраиваем в продукт. Предложения паблишеров по улучшению продукта мы тоже учитываем – часто бывает так, что временное решение, которое добавили по просьбе одного клиента, вырастает в полноценную опцию и становится доступным для всех.

Вопрос:
С каким крупными паблишерами / разработчиками вы сотрудничаете на сегодняшний день?
Appodeal:
На сегодня к нам подключено более 10 000 приложений от 2 500 паблишеров со всего мира. Среди них есть как инди-разработчики, так и крупные компании, например, Alawar, Indigo Kids, Topface, Литрес (приложение Читай! Бесплатно), PlayTouch, ZapZap Messenger, и другие.

Вопрос:
Поддерживаете ли вы индивидуальный подход к разработчикам или паблишерам, который учитывал бы их особенности?
Appodeal:
С каждым паблишером мы обсуждаем варианты оптимизации рекламы и помогаем доработать стратегию монетизации. В процессе подключения мы изучаем приложение, тестируем его с нашим SDK еще до запуска в сторы и помогаем устранить все ошибки.

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

Вопрос:
Следит ли ваша компания за эффективностью рекламы в приложениях своих клиентов?
Appodeal:
Вообще, монетизация – это процесс; недостаточно просто встроить рекламную сеть или сервис и забыть об этом, нужно постоянно мониторить эффективность, анализировать данные, искать решения, которые будут удобны для пользователей и выгодны для разработчиков. Поэтому у нас есть внутренние сервисы монитора и контроля, а также отдельные команды аккаунт-менеджеров и аналитиков, которые общаются с паблишерами после подключения. Они подробно изучают приложения клиента, следят за тем, как работает в них наш сервис, и помогают паблишеру с любыми вопросами.

Например, в феврале 2016 команда дейтинга Topface вместе с аналитиками Appodeal начала работу над эффективностью рекламы в своем приложении. Мы предложили включить обработку пользовательских данных и гео-данных (Topface присылает нам анонимные данные, без user_id и social_id). Это позволило лучше таргетировать рекламу, и в результате оптимизировать трафик и увеличить eCPM. Кроме того, наши аналитики и команда Topface проводили эксперименты с частотой показа полноэкранных баннеров. Мы пробовали разные временные промежутки на протяжении нескольких месяцев, нашли оптимальную частоту показов и увеличили доход паблишера от этого формата рекламы в три с половиной раза.

Вопрос:
Расскажите, пожалуйста, о работе службы поддержки (режим работы, оперативность решения проблемы и т.д.).
Appodeal:
Наша служба поддержки общается с клиентами круглосуточно семь дней в неделю. В ней работают iOS- и Android-программисты, которые всегда поймут запрос разработчика и смогут быстро помочь. Они отвечают на все вопросы по работе Appodeal, помогают разобраться со статистикой, поддерживают в процессе интеграции, собирают аналитику, дают советы по оптимизации рекламы и решают множество других задач.

Не собирается проект? Не показывается реклама? Не получается уместить весь набор в 65к методов? Получили RuntimeException? NoClassDefFoundError? Со всеми этими вопросами вам в техподдержку. Больше всего вопросов приходит через чат Intercom на сайте, часть решается через почту или скайп, отдельно отслеживаем жалобы на форумах и в социальных сетях. В среднем, первый ответ на обращение мы присылаем в течение 4 минут. На решение серьезных проблем, конечно, уходит до нескольких дней, но если ситуация затягивается, мы стараемся найти оптимальное временное решение в пользу паблишера.

Служба поддержки – наше лицо для клиентов, именно этим ребятам приходится разбираться с проблемами и трудностями, и они делают это на отлично. Мы с самого начала делали сервис максимально удобным для паблишера, а не для рекламодателя, поэтому сделали сильный упор на организацию техподдержки. В результате многие из подключенных к Appodeal паблишеров отмечают работу саппорта как наше серьезное преимущество в сравнении с другими компаниями. Большинство диалогов с клиентами закачиваются благодарностью службе поддержки, а девушкам порой присылают двусмысленные картинки.

Чтобы составить наиболее полное мнение о сервисе, мы просмотрели беседы на форумах разработчиков. Чаще всего потенциальные клиенты Appodeal упоминают в своих сообщениях опасения относительно увеличения размера приложений после интеграции SDK, а также требование дополнительных разрешений при установке пакета со стороны владельца мобильного устройства. К сожалению, и то, и другое – неизбежное зло при использовании, пожалуй, любого сервиса медиации. Объем SDK определяется даже не собственным кодом Appodeal, а интегрированными в него библиотеками партнеров, которые не поддерживают иной способ взаимодействия. А права на доступ к информации о пользователе, в частности, на передачу примерного местоположения, дают возможность точнее таргетировать рекламу, что повышает итоговый доход приложения. Стоит упомянуть и о том, что при повышении заполняемости приложения рекламой будет расти потребление интернет-трафика из-за кеширования. Но за рамками этих опасений накопилась уже довольно большая база историй успеха – в частности, повышения доходов разработчика от рекламы.

Монетизация по рекламной модели через Appodeal - 3

Приложение "Спрашивай.ру" для Android

Например, создатели бесплатного приложения ЛитРес "Читай! Бесплатно" сообщали об увеличении выручки на 40% после полного перехода на Appodeal.

Кстати, с Appodeal сотрудничают и с разработчиками мобильного приложения для Habrahabr, компанией СleverPumpkin.

Монетизация по рекламной модели через Appodeal - 4

CleverPumpkin

Вопрос:
Расскажите в двух словах о приложениях для Habrahabr, разработанных вами.
Appodeal:
Первая версия приложения для TechMedia (приложение объединяет два ресурса, Habrahabr.ru и Geektimes.ru) вышла в апреле 2014 года. После этого приложения регулярно обновлялись, получали новую функциональность и адаптировались под изменения на сайте. Оба приложения, для iOS и Android, несколько раз попадали в главные подборки в Apple App Store и Google Play.

Вопрос:
Какие решения для показа рекламы вы использовали ранее со своими клиентами?
Appodeal:
До интеграции Appodeal в приложениях Хабра использовалась кастомная крутилка на основе AdRiver. По сути, мы раздербанили выдачу баннеров, и реализовали все это обычными запросами, т.к. никакого SDK на тот момент не существовало. Все метрики при этом корректно считались, т.к. мы дергали специальные запросы на прозрачные пиксели при показах и при кликах. Команда Хабра использовала этот формат только под InHouse Ads, т.е. открутку собственных рекламных кампаний.

Вопрос:
Какие трудности возникли при установке SDK Appodeal?
Appodeal:
В процессе интеграции мы действительно сталкивались со сложностями и непонятками, но ребята из Appodeal оперативно нам отвечали и мы вместе искали оптимальные способы реализации.

Вопрос:
Продолжаете ли пользоваться услугами других поставщиков рекламы?
Appodeal:
В приложениях Хабрахабра сейчас используется только Appodeal. В приложениях остальных наших заказчиков используются и другие сервисы рекламы, т.к. на рынке много разных решений для монетизации.

На сайтах TechMedia нельзя встретить «расхлопывающиеся» баннеры, всевозможные поп-апы, мерцающие/вылетающие блоки и прочие сомнительные форматы, – если коротко, у нас нет форматов, которые относятся к Rich Media.

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

По сути, это инструмент размещения нативной рекламы. Для нас нативная реклама — это реклама, которая органично вписана в контекст медиа и соответствует интересам аудитории.

В мобильном приложении для Хабра мы стараемся придерживаться той же позиции, поэтому не размещаем раздражающие форматы.

Например, раньше мы показывали полноэкранную рекламу при загрузке приложения, но сейчас отказались от неё и перешли к более спокойному формату. Теперь в приложении размещена нативная реклама. Она максимально приближена к дизайну приложения.

Нативная реклама – это формат, при котором реклама органично размещается в приложении, подстраиваясь под его дизайн и контекст. Формат становится все более популярным: eMarketer сообщает, что бюджеты на нативную рекламу в течение следующего года вырастут на 25%. Нативная реклама выглядит как часть приложения, поэтому она более информативна, генерирует более высокий CTR и engagement rate. Кроме того, она вызывает у пользователя гораздо меньше раздражения и способна привлечь его внимание – мозг воспринимает такую рекламу как любой другой контент приложения и не блокирует её автоматически, в отличие от надоевших баннеров.

Возможность самостоятельно сверстать рекламный блок – главное преимущество нативной рекламы. Разработчик может настраивать размер, внешний вид и местоположение всех полей: заголовка, иконки, CTA-кнопки, описания и пометки "Реклама", ведь главная задача – максимально адаптировать дизайн и выбрать подходящий момент для показа, чтобы реклама стала уместной частью приложения.

Размещение рекламы – один из самых популярных способов монетизации приложений. Многие разработчики любят его за простоту и в то же время боятся из-за пользовательского негатива по отношению к рекламе. Благодаря сервисам медиации вроде Appodeal работа с рекламой становится проще и эффективнее для разработчика – он экономит время на встраивании SDK, отдает сервису задачи по выбору оптимального рекламодателя для каждого показа, получает доступ ко множеству сетей и детальной аналитике кампаний. В то же время, пользователи видят в приложениях уместную и качественно встроенную рекламу, которая не вызывает раздражения.

Комментарии (0)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

$(document).ready( function(){
window.tmidLogin = function(){ return false; };
if( $.cookie('tmid_no_check') === undefined ) {
var expire = new Date();
expire.setMinutes(expire.getMinutes() + 10 );
$.cookie('tmid_no_check', 1, { expires: expire } );
$.getScript("https://id.tmtm.ru/checklogin/", function(){
if( window.tmidLogin() ) {
var href = $('#login').attr('href');
if( href !== undefined ) {
window.location.href = href;
}
}
});
}
});

// global vars
var g_base_url = 'habrahabr.ru';
var g_show_xpanel = false;
var g_base_fullurl = 'https://habrahabr.ru/';
var g_is_guest = false;

(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
if (typeof (_yaparams) != 'undefined') {
w.yaCounter24049213 = new Ya.Metrika({id:24049213,
webvisor:true,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
params:_yaparams});
} else {
w.yaCounter24049213 = new Ya.Metrika({id:24049213,
webvisor:true,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true});
}

} catch(e) { }
});

var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";

if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks");

Монетизация по рекламной модели через Appodeal - 5

function checkHeaderPos(){
var topToHubs = $('.megapost-cover').offset().top + $('.megapost-cover').outerHeight();
var sT = $(this).scrollTop();
if (sT > topToHubs) {
$('.t199__js__header, .t199_js__header').fadeIn();
} else {
$('.t199__js__header, .t199_js__header').fadeOut();
}
}

$(window).on('scroll', function() {
checkHeaderPos();
});

function drawguides(){
if($("#guides").length)$("#guides").remove();

$("body").append('

');

var g=$('#guides');
var ww=$(window).width();

var offset_left=parseInt((ww-1200)/2);
var col_space=20;
var col_width=100;

if(ww=960){
for(i=0;i<13;i++){
var x1=(i*col_width)+offset_left-col_space;
var x2=(i*col_width)+offset_left+col_space;
var n=i+1;
if(i!=0)g.append('

');
if(i!=12)g.append('

');
if(i!=12)g.append('

'+n+'

');
}
}

if(ww<960){
var x=parseInt(ww/2);
g.append('

');
}

var doit;
$(window).resize(function() {
if($("#guides").length){
clearTimeout(doit);
doit = setTimeout(drawguides, 300);
}
});
}

function showguides(){
if($("#guides").length){
$("#guides").remove();
$("#guidesmenubutton").css("display","none");
}else{
drawguides();
$("#guidesmenubutton").css("display","block");
}
}

Автор:

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js