Как сайт с играми удерживает внимание аудитории на рекламных баннерах и увеличивает доходы компании

Как сайт с играми удерживает внимание аудитории на рекламных баннерах и увеличивает доходы компании

Коротко

  • 01
    Клиент

    Американская компания, которая зарабатывает на продаже рекламного трафика

  • 02
    Задачи
    • Найти способ удерживать внимание аудитории при показе рекламы
    • Собрать контакты пользователей для формирования базы
    • Предусмотреть механизм управления прибылью
  • 03
    Решение

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

  • 04
    Результат
    • сайт был разработан за 6 месяцев
    • есть конструктор по разработке игр, встроенные игры
    • есть возможность проводить соревнования между пользователями и позволять выигрывать призы

Компания зарабатывает на рекламе

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

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

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

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

Проблема: пользователи игнорируют рекламу и компания теряет деньги

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

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

Решение: разработать сайт, где пользователи смогут играть в игры, зарабатывать токены и обменивать их на призы

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

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

Работу над сайтом мы спланировали в три этапа:

  1. Обсуждение деталей: согласовали техническое задание, обсудили цели проекта.
  2. Проектирование и разработка: изучили конкурентов, спроектировали сайт, придумали дизайн, разработали и подключили все элементы сайта, добавили игровые механики, подключили рекламный сервер.
  3. Тестирование и запуск: провели тесты, установили систему на серверах заказчика.

Рассказываем подробно о каждом этапе.

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

Обсудили детали проекта с заказчиком

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

Заказчик хотел, чтобы на сайте были разные типы игр: лотереи, слот-машины, стирание окошек. Должна была быть возможность устанавливать разное количество выигрышных токенов и создавать лотереи из настоящих призов. В таблице сформулированы бизнес-задачи, которые ставил заказчик и как мы их решили.

Бизнес-задачиЧто мы сделали
Как можно дольше удерживать внимание пользователя— Интересные игры и розыгрыши, яркий интерфейс, привлекательные описания — на сайте хочется оставаться и продолжать играть;
— Понятная навигация: легко найти нужную информацию;
— Реклама не раздражает пользователей: не закрывает элементы сайта, возникает в паузах, например во время ожидания результатов лотереи
Собирать контакты пользователей— Шанс выиграть ценные призы мотивирует пользователей зарегистрироваться на сайте — они сами вводят свои контактные данные.
— Есть также упрощенная регистрация через Facebook или Google — в этом случае информация остается на стороне этих сервисов. Мы сделали механизм, который вытягивает оттуда контакты.
Стимулировать пользователей выполнять действия из рекламы

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

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

Кроме бизнес-задач, заказчик поставил и технические:

  • предоставить техническую спецификацию перед началом работы;
  • обеспечить безопасность системы, разрабатывать с учетом будущего масштабирования;
  • использовать кэширование, HTTPS, кэш Cloudflare/StackPath;
  • серверная часть может быть написана на PHP с использованием API на Java.
Логика сайта для пользователей из технического задания заказчика

Изучили игры конкурентов, спроектировали и разработали сайт

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

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

Дальше мы перешли к проектированию сайта:

  • разработали алгоритм определения победителей и раздачи токенов;
  • выстроили архитектуру проекта, back-end-систему вызовов API;
  • описали инструментарий, которым будем пользоваться;
  • разработали графический дизайн: стили управления, логотип, цветовую схему.
Разработали дизайн игр и описания к ним

Мы предложили заказчику приобрести готовые игровые механики: это быстрее и дешевле, чем писать их заново. Нужно только купить ZIP-архивы с кодом, интегрировать код в сайт и дополнить игры собственным дизайном. Это позволило расширить стартовый набор механик:

  • игровые автоматы;
  • игры со стиранием окошек;
  • блек-джек;
  • скачки;
  • рулетка.

Компоненты системы и инструменты

По результатам проектирования мы подготовили для заказчика понятную, наглядную презентацию:

  • описали роли пользователей сайта: посетители, рекламодатели, администраторы;
  • показали компоненты будущей системы, их функции и взаимодействие;
  • обосновали выбор технологий и игровых механик.

Сайт разделен на компоненты. Каждый из них выполняет свою функцию и упакован в контейнер с использованием технологии Docker. Компоненты взаимодействуют друг с другом через REST API и специализированные протоколы.

  • Front-end на Angular пользовательский интерфейс для посетителей и администраторов.
  • Back-end на Symfony — серверная часть системы: вычисляет логику выигрышей и начислений токенов.
  • Рекламный сервер Orbit — собственный программный продукт OrbitSoft, управляет рекламодателями, кампаниями и объявлениями.
  • Статистика и аналитика на PHP — обработка данных по начислению и выводу токенов через розыгрыши.
  • База данных Percona MySQL — хранение пользовательских панелей, истории начисления и вывода токенов, результатов розыгрышей.
  • NoSQL-хранилище Aerospike — хранение остатков токенов.
  • Резервное копирование — периодическое копирование всех системных данных.
  • Мониторинг — непрерывное тестирование производительности всех компонентов и оповещение технических сотрудников о проблемах.
  • Load Balancer — балансировка входящего трафика.

Связку Angular 7 и Symfony мы выбрали потому, что в OrbitSoft есть сложившаяся, опытная команда программистов, которые работают с этими фреймворками. В качестве рекламного сервера мы взяли Orbit Ad Server — наш собственный продукт. Он помогает рекламодателям и паблишерам размещать рекламу: хранит в базе данных рекламные материалы и транслирует их на сайты в соответствии с запросами рекламной сети. Сервис работает с любыми рекламными форматами и предлагает удобные инструменты: планирование кампаний, таргетинг, подсчет метрик эффективности, управление рекламным бюджетом.

Разработка и обратная связь

После согласования проекта мы приступили к разработке:

  • написали модули всех компонентов системы;
  • добавили графический дизайн;
  • проверили и отладили систему на тестовых серверах;
  • выполнили интеграцию с рекламным сервером Orbit — настроили места размещения объявлений в пользовательском интерфейсе.

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

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

В техническом задании заказчик просил обеспечить сохранность данных и защиту от взломов:

  • мы использовали HashiCorp Vault — инструмент для хранения секретной информации: паролей, логинов, ключей. Если программный код не содержит секретов, значит, их невозможно достать и взломать сайт. Злоумышленники не смогут взломать систему, украсть пароли и деньги;
  • алгоритм выбирает победителей в розыгрышах случайным образом, все вычисления происходят на стороне сервера. На результат нельзя повлиять ни пользователям, ни администратору.

В процессе работы над проектом мы подробно отвечали на все вопросы заказчика, помогали с решением возникающих проблем.

Здесь мы отвечаем, почему у заказчика перестала запускаться демосреда и как решить проблему

Протестировали сайт и добавили дополнительные функции

Первая версия сайта была готова за 6 месяцев. Увидев ее, заказчик решил добавить дополнительные функции. Со всеми согласованиями и доработками проект занял 9 месяцев.

Сайт полностью готов: мы провели функциональные и нагрузочные тесты, установили систему на серверах заказчика и запустили ее. Коммерческий старт запланирован на 2022 год: пока заказчик согласовывает юридические вопросы и получает разрешения.

Администрирование сайта

Заказчик управляет сайтом через панель администратора. В ней есть разделы для просмотра статистики посещений, управления страницами сайта, рекламный кабинет для модерирования рекламных объявлений.

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

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

Например: за вчерашний день было 100 тысяч рекламных показов, каждая тысяча показов стоит 3 $ — компания заработала 300 $ на рекламе. Из них 150 $ она забирает в качестве прибыли, еще 50 $ тратит на операционные расходы. Оставшиеся 100 $ идут на призы.

Так выглядит панель администратора — здесь можно назначить или изменить призы в лотереях

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

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

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

Комбинация 666 выпадет на игровом аппарате с вероятностью 0,0002, тогда игрок получит 200 токенов

Результаты: за шесть месяцев сайт готов к запуску

  • Мы выпустили первую версию сайта за 6 месяцев.
  • Добавили 4 варианта увлекательных игр и лотерей с возможностью подключать новые механики в будущем.
  • Сделали конструктор, чтобы заказчик мог сам создавать игры на основе этих механик.
  • Добавили механизм, который собирает контакты пользователей при авторизации через Facebook и Google.
  • Предусмотрели мотивационную схему для подключения рекламы с платой за действия.
  • Разработали механизм автоматической настройки вероятности выигрыша в зависимости от эффективности рекламы.
  • Обеспечили безопасность данных и предусмотрели возможность масштабирования.

Технический блок

  • Front-end на Angular 7.
  • Back-end на Symfony.
  • Orbit Ad Server.
  • Базы данных: Oracle MySQL, NoSQL Aerospike, Click House, Mongo.
  • HashiCorp Consul, Vault.
  • Gliderlabs Registrator.
  • Graylog.
  • Elasticsearch.
  • Redis.
  • Kafka.

В чем бы вы ни нуждались, мы можем помочь!

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

Получите ответ по смс

Ваше сообщение успешно отправлено!
Представьтесь пожалуйста
Укажите номер, на который придет ответ
Нажимая на кнопку, вы даете согласие
на обработку персональных данных.