Оффтоп Anthony Baitsur
23 220

Что такое метапоиск авиабилетов — ответ команды Aviasales на «Разбор полётов» от читателя

Директор по продуктам Aviasales — об особенностях работы сервиса для поиска авиабилетов.

В закладки

Начитавшись публикаций с догадками по поводу работы метапоисковиков, «разоблачающих» комментариев и предполагающих заметок, мы решили написать свою статью и честно рассказать о том, как поиск авиабилетов устроен на самом деле.

Что такое метапоиск авиабилетов

Представьте себе рынок:

  • сотни авиакомпаний по всему миру;
  • несколько систем дистрибуции (GDS) с различными правилами и опциями;

  • консолидаторы со специальными условиями от авиакомпаний;

  • тысячи онлайн-агентств путешествий (online travel agency, ОТА);
  • десятки различных тарифов, опций и правил у каждой авиакомпании;

  • разнообразные ограничения на стороне GDS и авиакомпаний для разных рынков и стран.

Поиск по всему этому массиву данных — дело масштабное. Каждый раз, когда пользователь Aviasales нажимает кнопку «Искать», мы отправляем обезличенный поиск нашим партнёрам, получаем от них ответ (а это около 300 ответов API совершенно разнообразных форматов и размеров, то есть до 150 МБ данных на каждый поиск), нормализуем эти ответы, склеиваем их, сортируем и показываем пользователю.

Чем мы принципиально отличаемся от других

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

  • Мы принципиально не разрешаем нашим партнёрам добавлять на своей стороне дополнительные услуги без прямого согласия пользователя и очень ревностно следим за соблюдением этих правил.

  • Мы показываем честную цену, включая все те платежи, которые у некоторых партнёров (обычно это зарубежные авиакомпании) могут появиться на самом последнем шаге бронирования.
  • Мы первыми в мире среди метапоисковиков стали показывать опцию покупки билета с багажом прямо в нашей поисковой выдаче.

Каждый день мы обрабатываем более двух миллионов поисковых запросов. С нашей помощью продаётся столько билетов, что, будь мы авиакомпанией, боролись бы с S7 за вторую строчку по пассажиропотоку в России. По данным Similarweb, Aviasales — самый крупный метапоисковик авиабилетов в стране.

Авиакомпаний недостаточно: зачем нужны агентства в поиске Aviasales

  1. Основной бизнес авиакомпаний — перевоз пассажиров из точки А в точку B.
  2. На таком сложном рынке есть масса возможностей оптимизировать поисковые запросы и среди множества тарифов выбирать лучшие.

  3. Интерлайны: у каждой авиакомпании есть ряд ограничений, вызванных наличием специальных договоров или членством в одном из альянсов. Это значит, что Thai Airways никогда не продаст на своем сайте авиабилет с пересадкой, в котором один из сегментов будет выполнять Air Asia, а EasyJet не предложит вернуться домой с помощью WizzAir, хотя это может быть значительно дешевле.
  4. Ценообразование ОТА устроено так, что посредники могут активно играть со своим маркапом (наценкой), зарабатывая, например, на дополнительных услугах, а не на комиссиях.

Всё это приводит к тому, что ОТА умеют состыковывать билеты от разных авиакомпаний, комбинировать перелёты разных перевозчиков туда-обратно, добавлять выгодные условия отмены авиабилетов (дешевле соответствующих опций у самих авиакомпаний), а ещё могут предлагать авиабилеты по цене ниже, чем у перевозчика.

Почему отличаются цена и наличие билетов

Причин довольно много.

  1. Кэширование цен в поисковой выдаче (мы этого не делаем принципиально).
  2. Билет может быть продан за то время, что пользователь переходит на сайт. По некоторым тарифам количество билетов крайне ограниченно, их быстро разбирают.
  3. Билеты могут не успеть оплатить или вовсе отменить — через некоторое время бронь слетает, и они снова начинают отображаться в поиске.
  4. Как мы уже рассказывали выше, Aviasales работает с сотнями партнёров, во время поиска могут случаться и технические проблемы. Например, API партнёра может не ответить — это происходит нечасто, в среднем — в 0,2% случаев.
  5. На стороне ОТА тоже живые люди и свои алгоритмы ценообразования. Для них метапоиск — канал трафика, поэтому могут быть и манипуляции с ценами. Мы запрещаем нашим партнёрам внезапно повышать цену после перехода наших пользователей к ним на сайт, а недобросовестных партнёров оперативно отключаем.

  6. Да, бывает и такое, что какие-то ОТА или авиакомпании не сотрудничают с тем или иным метапоисковиком по какой-то причине. Мы напрямую работаем с большинством российских и международных авиакомпаний и ОТА.

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

Правда ли, что если искать билеты из Бутово с Android-устройства, будет дешевле

Это самый распространённый миф, который путешествует из одной статьи в другую. К сожалению (ха-ха), в случае с метапоиском авиабилетов — это неправда.

Дело в том, что метапоисковики не продают билеты — только ищут и сортируют по цене. Влияния на процесс ценообразования мы не оказываем. Про обезличенный поиск уже сказано чуть выше, так что наши партнёры не получают никакой информации, кроме валюты, языка, дат вылета и пунктов назначения.

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

Мы заботимся о пользователях и хотим, чтобы они спокойно, быстро и безболезненно завершили процесс бронирования на официальных сайтах авиакомпаний и агентств.

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

Какие существуют инструменты планирования

Планирование — самая тяжёлая часть процесса подготовки к поездке. Aviasales стремится всё упростить, поэтому на сайте много разных инструментов в помощь путешественнику.

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

Помимо этого, у нас есть инструмент «Карта низких цен», с помощью которого можно подобрать даты и направления для путешествия.

Ещё мы выпустили специального бота «аномальных» цен, который в режиме реального времени отправляет в мессенджеры дешёвые билеты по заданным направлениям.

Ещё есть блог с идеями для поездок и адекватными советами.

Что в итоге

Я прошёлся по основным темам, которые часто обсуждают на форумах, в блогах и пабликах. Надеюсь, что получилось понятно. Если остались вопросы, пишите.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Anthony Baitsur", "author_type": "self", "tags": [], "comments": 79, "likes": 82, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 32372, "is_wide": false }
00
дни
00
часы
00
мин
00
сек
(function(){ var banner = document.querySelector('.teaserSberbank'); var isAdsDisabled = document.querySelector('noad'); if (!isAdsDisabled){ var countdownTimer = null; var timerItem = document.querySelectorAll('[data-sber-timer]'); var seconds = parseInt('15395' + '50799') - now(); function now(){ return Math.round(new Date().getTime()/1000.0); } function timer() { var days = Math.floor(seconds / 24 / 60 / 60); var hoursLeft = Math.floor((seconds) - (days * 86400)); var hours = Math.floor(hoursLeft / 3600); var minutesLeft = Math.floor((hoursLeft) - (hours * 3600)); var minutes = Math.floor(minutesLeft / 60); var remainingSeconds = seconds % 60; if (days < 10) days = '0' + days; if (hours < 10) hours = '0' + hours; if (minutes < 10) minutes = '0' + minutes; if (remainingSeconds < 10) remainingSeconds = '0' + remainingSeconds; if (seconds <= 0) { clearInterval(countdownTimer); } else { timerItem[0].textContent = days; timerItem[1].textContent = hours; timerItem[2].textContent = minutes; timerItem[3].textContent = remainingSeconds; seconds -= 1; } } timer(); countdownTimer = setInterval(timer, 1000); } else { banner.style.display = 'none'; } })();
{ "id": 32372, "author_id": 16419, "diff_limit": 1000, "urls": {"diff":"\/comments\/32372\/get","add":"\/comments\/32372\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/32372"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

79 комментариев 79 комм.

Популярные

По порядку

Написать комментарий...
27

Сколько раз я смотрел на это окошко про "готовы ли покупать на английских сайтах" - не мог даже предположить что ответ "да" включит мне опцию поиска. Может как то по другому сформулироват?

Ответить
4

Вот вот, я это тоже сказал ребятам с Авиасейлза на их ответы - это окошко воспринимается, как простой опрос без какого либо продолжения. При чем я его нажимал - и нифига, потом оно просто перестало появляться, но того же Ryanair я не увидел

Ответить

Комментарий удален

18

Очень развернутый и простой ответ на вопрос о способе работы подобных организаций. Хоть и пременяли профессиональные термины, мне в целом всё стало понятно. Спасибо!

Ответить

Комментарий удален

1

да, да, да! Йеееее!

Ответить

Комментарий удален

20

Спасибо за статью. Действительно, окошко с вопросом о поиске билетов на англоязычных сайтах крайне непонятно - каждый раз я думал, что это какой-то опрос, а не функциональная возможность. Сделайте включение этой фичи в виде простого диалога "Искать на англоязычных сайтах? Да-Нет", будет гораздо понятнее.

Ответить
6

Подумаем, как сделать лучше. Спасибо

Ответить
0

а на www.aviasales.com поиск по всем доступным сайтам включен по-умолчанию, или тоже где-то переключатель?

Ответить
0

На каждой языковой версии не включены агентства, чей интерфейс не поддерживает этот язык.

Ответить
22

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

Ответить
0

Все правильно написано. Мы не влияем, а на стороне партнеров бывают хитрости. Например, какая-нибудь авиакомпания на последнем этапе покупки накидывала 8 евро, а сейчас стала 4. Небольшое время, пока мы не поправим в формуле +8 на +4, у нас будет некорректная сумма. Речь идет про это.

Ответить
1

Максим, в первой части вы рассказывали сколько данных вы получаете через кривые api партнеров, как вы этот массив обобщаете, действительно, для этого нужно обладать не дюжей технической компетенцией. И тут вот очень странно получается, вы говорите, что вы не влияете на цену. Ок, ок, но вот в одном из интервью Константин (царство ему небесное) рассказывал, что про пользователя он знает все, это понятие естественно подразумевает, что вы точно знаете с какого устройства, вплоть до модели, производит поиск и покупку пользователь.
При этом вы особо обращаете внимание, что данные на момент поиска в компании поступают обезличенно, и в это тоже верим. Но было бы глупо думать, что у вас нет агентского договопа в котором вы имеете право увеличить комиссию на 0.3-0.4%, при определенных параметрах, которые вы отправляете партнеру. В таком случае, это выглядит примерно так, вы действительно не передаете данные, вы просто просите партнера, что вот по такому рефералу сделать цену на 0.3% дороже.
Мне кажется это настолько очевидным, что даже немного удивляет, как вы в 2-х предложениях решили переубедить публику в отсутствии проблемы.
И так делает не только ваш поиск, так делает абсолютно любой поисковик в высокоекуркнтных нисшах, букинги-чпугинги и все-все-все.
На этом же ресурсе есть подборка статей, про данные технологии и как кукисы влияют на цену.

Ответить
0

У нас нет подобных пунктов в партнёрских договорах.
И мы не влияем на те цены, которые передают нам наши поставщики, ровно, как и не передаём им никакой информации о пользователе.
Но вас переубедить не пытаюсь – продолжайте дальше верить тому, что пишут на заборах :)

Ответить
0

Странно, что вы считаете vc.ru забором, еще странне при этом, что вы здесь публикуетесь.

Ответить
0

Для нас манипуляция с ценой - это потеря доверия клиентов. Мы на такое не пойдем, извините

Ответить
0

Вот и славненько, чудненько.

Ответить
10

Правда ли, что если искать билеты из Бутово с Android-устройства, будет дешевле

Это самый распространённый миф, который путешествует из одной статьи в другую. К сожалению (ха-ха), в случае с метапоиском авиабилетов — это неправда.

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

Ответ в путинстиле

Ответить
2

Вы бы внимательно почитали — все же рассказали о том, почему цены могут быть разными.

Ответить

Комментарий удален

1

я ленивый потенциальный клиент, мне лень читать.

Ответить

Комментарий удален

8

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

Ответить

Комментарий удален

0

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

Ответить
5

Ребята из Авиасейлза, спасибо за ответ. Вот вопрос, который у меня все же остался: вы показываете цену у посредника - Х рублей, скайсканнер цену того же билета - Y рублей, где-то лучше он, где-то вы. При переходе на покупку, как вы и сказали, цена окончательная не меняется, правда. Но сам факт разной цены у одного посредника при переходе от вас и от скайсканнера интересен. Причем, если открыть того же посредника в новой вкладки и найти этот билет - получу третью цены. Все одновременно делалось

Ответить

Комментарий удален

0

Основная проблема, не это, а финальная цена после ввода данных пассажира и формы оплаты :(

Ответить
0

Если встретите случай, когда показанная у нас в результатах цена будет отличаться от финальной на форме оплаты у партнера — можете смело писать мне лично или в наш саппорт — мы оперативно разберемся :)

Ответить
0

такого не было ни в одном из экспериментов) с этим все четко

Ответить
0

Метапоиск для любого агентства (да и авиакомпании) — источник трафика. Некоторые метапоисковики берут деньги за переход (cpc), мы со всеми работаем по cpa (получаем % от продажи) — этим в том числе обусловлены наши старания сделать так, чтобы цена никак не менялась после перехода от нас.

На стороне партнеров своя система ценообразования, свои инструменты работы с трафиком из различных источников, в т.ч. и с трафиком из метапоисковиков, мы на это по сути влиять почти не можем.

Ответить
7

Красиво стелишь, фраерок

Ответить

Комментарий удален

3

Классного бота вы сделали, ребята. Ничего лучше еще не пробовал )))

Ответить
2

Это не он. Бот для нужного мессенджера можно найти тут https://bot.aviasales.ru/

Ответить
0

Именно с этого сайта и переходил, так что это он )

Ответить
1

Попробуй ещё раз? Все работает, вроде

Ответить
3

Мы не кэшируем страницу с результатами наших поисков

ориентировочные цены на билеты: они собираются с помощью нашего собственного кэша

Okay

Ответить
0

Разницу в "страница с результатами наших поисков" и "ориентировочные цены на билеты" (которые совершенно в другом интерфейсе) заметили?

Ответить
0

нельзя быть таким серьезным, это же виси

Ответить
1

Простите, профессиональная деформация :(

Ответить

Комментарий удален

1

Когда нужно объяснять почему мы лучшие, то значит не лучшие :(

Ответить
3

Есть кто из Бутово? Проведем тесты.

Ответить
2

Всегда покупаю только через эту платформу. Безумно удобно! На мой взгляд это лучший сервис в мире! Да что уж в мире, в России! :)

Ответить
0

Если Вам не сложно, подумайте о том чтобы добавить в профиле к "Ветеринарная Клиника" + "в Тюмени", т.к. КАПС на уши давит, и кажется что Вы представляете сеть клиник, а это ведь не так :(

Ответить
3

В каждой статье наблюдаю бесцельно проходящую вашу жизнь.
Решил сделать комплимент. Вы преуспели в бестолковости

Ответить
0

Да, я знаю, спасибо что заметили :)

Ответить
1

Подскажите, пожалуйста, как добавить тут в свой профиль место работы?

Ответить
2

Пока никак. Скоро вернем данную функцию.

Ответить
0

Это связано с проблемами с Google, и возможным распространением _большого_ количества вредных ссылок таким образом (например при взломе профайла)?

Ответить
1

Нет, совсем нет. Проблема исключительно в нас. Функция была сырой, а отношение аудитории к ней - очень серьезное. Решили исправить.

Ответить
0

что вы там с контактиком делаете у себя на сайте? :)

Ответить
1

Не вижу ошибок, вроде везде нормально переходит.

Ответить
1

разобрался, куки режет privacy badger :) но ваш сайт первый с такой ошибкой, за годы пользования, вот такой вот case.

Ответить
0

Видишь сусликов? :) вк чудит скорее всего.

Ответить
0

Скорее всего чат вк лагает

Ответить
2

https://www.google.com/flights/ сейчас делает все то же самое, но гораздо быстрее и удобнее.

Ответить

Комментарий удален

Комментарий удален

Комментарий удален

1

Антон, наконец-то есть ссылка, которую я смогу отправлять, когда рассказываю про метапоиски

Ответить
1

Всем известно, что каждый запрос в GDS стоит денег. Кэширование в том числе для этого использовали. Авиасейлс разбогател или цена запроса в GDS снизилась?

Ответить
0

Можем себе позволить

Ответить
0

Так метапоисковик не ходит в GDS напрямую. Или я ошибаюсь?

Ответить
0

Всё верно, не ходит :)

Ответить
0

Ну только иногда )))

Ответить
0

Кэширование используют агентства, инфу из респонсов которых без кэширования отображает Авиасейлс.
Есть хорошая метафора с пнём и совой.

Ответить
0

Вопрос. В приложение самолетик очень медленно летит, пока не достигнет пункта назначения. Если выбрать маршрут с пересадкой - летит еще дольше. Прямо буквально по всему маршруту. Это, конечно, очень красиво. Но я на него смотрю и медленно засыпаю. Почему вы выбрали такой вариант строки состояния для приложения? Обычная строка как-то быстрее пролетает - ну, как обычная загрузка в интернете, к которой ты привык. А из-за самолета лично мне кажется, что приложение какое-то медленное. Хотя дизайн - и главное - результаты по ценам нормальные.

Ответить
2

Мы как раз сейчас работаем над тем, чтобы в мобильном приложении выдача стала значительно быстрее.

Самолетик, кстати, летает примерно одинаково без зависимости от сложности маршрута — мы просто дожидаемся всех ответов в приложении, прежде чем показывать результаты.

Ответить

Комментарий удален

0

"Всё это приводит к тому, что ОТА умеют состыковывать билеты от разных авиакомпаний, комбинировать перелёты разных перевозчиков туда-обратно" (с).
Что-то не верится...
Проверяю билеты на май из Владивостока в Париж. По данному запросу ценник 43к туда/обратно на человека. Но если смотреть отдельно Владивосток - Москва и Москва - Париж, то вместе выйдет около 30к (правда с кучей пересадок, но всё же). Можно с минимум пересадок и временем ожидания выйти на 33-34к. Вопрос: почему такая большая разница то?

Ответить
0

как ни странно но эта ФИЧА о которой надо просто знать пользователю)) 1 сложный перелет всегда дороже чем составные части того же перелета купленные порознь - это специфика криворуких GDS которым 20+ лет и которые ничего не хотят менять в своем доисторическом коде

Ответить
0

Всегда отвечал да на вопрос про англоязычные агентства, но что-то никогда не видел их в выдаче.

Ответить
0

Анатолий, подскажите. Появится ли в ближайшее время «карта цен» с возможностью уточнения времени вылета и прилета. Это необходимо для поиска направлений на выходные, когда ты можешь вылететь с скажем 18:00 в пятницу и прилететь обратно не раньше скажем 20:00 в воскресенье. Обычный поиск в данном случае не помогает, так как привязан к одному направлению. Благодарю за ответ!

Ответить
0

мне кажется это фашизм отправлять к партнеру, у которого есть комиссия за оплату картой.
в итоге изначальная цена отличается от запланированной, но узнаешь ты это уже в самом конце воронки

Ответить

Комментарий удален

0

На Aviasales ... не отображаются ... которые не перевели ... на русский язык.

Ну вот поэтому я видимо никогда и не пользовался проектом.
 
Включить ... можно ... во время ожидания результатов поиска.

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

большинство русскоязычной аудитории боится совершать

покупки на зарубежных сайтах.

У мутных noname online посредников - возможно и правильно, у топов по онлайн-бронированию - за разницу в $30-$50 - бегом будут покупать и все что надо переведут ... "Искусство" заказа на Букинге некоторые туркомпании продавали как доп. сервис за $100, когда он еще не работал с РФ официально.

Ответить
0

Что это за международные метапоисковики с накоплением бонусов? ))))

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

Ответить
–1

1/ Их не так много :) И чисто американские - лучше :)
2/ РФ-центричность и русский язык не являются преимуществом системы бронирования. Если Ваша уважаемая система такая великолепная, что "не уступает, а по некоторым параметрам и превосходит" (с), самое первое что нужно было сделать - запустить ее в США и ЕС :)
(с) КБ, "Хвалебная статья"

Ответить
0

Вы точно знаете, как развить проект на международных рынках, где есть окопавшиеся лидеры?

Ответить
0

Максим, тут надо определиться. Если в статье все правда про технологию, то собственно и делать ничего особо _дополнительно_ не надо - просто масштабировать решение в США/Европу, т.е. + даты-центры и даже не нужна русификация, на оригинальном английском все пойдет на ура

Ответить
0

Лично я бы согласился с вами, но у нас есть 80%+ аудитории, которым требуется именно локализованный продукт. Ну и в сторону - в трэвеле бесплатного трафика [почти] не бывает, поэтому десятки и сотни миллионов долларов на маркетинг никто не отменял :(

Ответить
0

Ну, и необходимость биздева ещё стоит упомянуть.

Ответить
0

Уважаемые господа специалисты, первый раз вижу трэвел проект, отказывающийся от англоязычного (мирового) траффика. Пожалуйста, не надо ничего объяснять, пусть каждый сделает свои выводы :)

Ответить
0

Ошибочно считать, что одной технологии достаточно, чтобы работать хорошо по всему миру.
Наш основной рынок – СНГ и мы концентрируем усилия в рамках этого рынка.

Ответить
0

Я понял, я догадался.
Респондент интервью считает что отсутствие русской версии чего-либо - недостаток. Это очень удивительное для 2018 года мнение :)
  
А я, по привычке с 1997 года, так-то считаю что английская версия должна быть основной :) А если речь идет о продаже авиабилетов и отелей - то лучше всего - единственной, на американском английском + может быть на испанском :)
  
P.S. Переключить на англ. на aviasales не смог :(
P.P.S. в _Яндексе_ есть английский, а на aviasales нет (или далеко спрятан). Ну смешно же :)

Ответить
0

У Aviasales фокус на русскоязычные рынки, оттуда и самоограничения.

Ответить
0

Видимо, ещё и рук на всё не хватает, что нормально и понятно, но мне, как русскоязычному пользователю из США, странно видеть цену билетов из Филадельфии в Атланту в рублях по умолчанию. Подозреваю, что вы сами себе на Пхукете билеты на Bangkok Airways или AirAsia тоже в рублях показываете, хоть и платите себе зарплату в батах, наверное. Не очень удобно, да? Чтобы не мудрить с интерфейсом, я бы показывал валюту по стране пребывания пользователя, а рядом неброско рублевый эквивалент, например.

Ответить
–2

Добровольцы ау?

Тест: одно направление , поиск через мобильное устройство с установленным приложением.

Битва кому дешевле андройду или не андройду, скрины в коменты.

Ответить

Комментарий удален

0

В новом приложении можно посмотреть лайки, а вот редактировать простите

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Нейронная сеть научилась читать стихи
голосом Пастернака и смотреть в окно на осень
Подписаться на push-уведомления