Система позиционирования в помещениях на основе BLE для онлайн-рекламы

Система позиционирования, разработанная для магазинов, кафе и подобных заведений. Позволяет продвигать товары и услуги, посылая push-уведомления на устройства находящихся поблизости людей.
Люди пользуются смартфонами 24 часа в сутки 7 дней в неделю. Поэтому онлайн-реклама стала самым быстрым и эффективным средством охвата целевой аудитории.

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

Наш заказчик решил разработать решение для онлайн-рекламы на основе технологии BLE-маячков (Bluetooth Low Energy) и мобильного приложения. Его могут использовать магазины, рестораны и другие коммерческие организации. Система позволяет пользователям приложения получать релевантную информацию о ресторанах и других заведениях, которые они посещают или собираются посетить.

Запрос

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

Систему предполагалось устанавливать в различных местах, поэтому требовалось решение «под ключ» с одинаковым алгоритмом установки. Система должна распознавать, когда пользователь входит в помещение, находится внутри и покидает его, а также находится вблизи заведения на расстоянии 30-50 метров.
Система маячков распознает, когда пользователь входит в помещение, находится внутри и покидает его, а также когда он находится вблизи заведения на расстоянии 30-50 метров.
Система должна быть настроена так, чтобы работать с приложением на смартфонах с Android. Приложение получает данные с маячков и перенаправляет их на веб-сервер, который определяет местоположение пользователя. На сервере хранится вся информация о заведении, в том числе сведения о распродажах, скидках и акциях. Эта информация может отправляться целевой аудитории через push-уведомления.

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

  • визуализировать сведения о компании, установившей маячки, такие как название и адрес;

  • визуализировать расположение всех маячков на карте, а также название локации;

  • предоставлять возможность подключать и настраивать новые маячки;

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

  • визуализировать активные и неактивные маячки;

  • показывать общую статистику, в том числе общее количество пользователей и заказов, а также частоту заказов.

Система должна позволять персоналу добавлять маячки и создавать учетные записи с приложения/веб-профиля.

Решение

Мы предложили заказчику оригинальный дизайн системы маячков, которая может быть установлена в различных общественных учреждениях. Команда порекомендовала использовать классический подход, чтобы обеспечить эффективное взаимодействие между маячками и мобильным приложением. Система может поддерживать от одного до более чем 500 000 маячков.

Для точного позиционирования необходимо по крайней мере три маячка на расстоянии 15-20 метров друг от друга. Таким образом, идеальное покрытие обеспечивается тремя или четырьмя маячками на 200 м² в случае помещения квадратной формы. Однако свою роль также играют тип здания, в котором установлены маячки, шум и поглощение сигналов.

Мы создали пакет средств разработки мобильного ПО (SDK) с сервисом фоновой обработки, который считывает данные с маячков (их идентификатор и силу сигнала) и ID мобильного устройства. Эта информация нужна для определения местоположения пользователя. Данные с маячка и устройства отсылаются на облако. Платформа управления данными (data management platform, DMP), которую мы предложили в качестве облачного решения, используется для сбора, управления и сортировки информации.

Локации и маячки регистрируются в DMP. Для онлайн-рекламы персонал заведения может добавлять в облачную платформу рекламную информацию и любые материалы. Данные с маячков и устройств позволяют системе отправлять push-уведомления потенциальным клиентам в нужное время и в нужном месте.
Уведомление пользователя о распродаже в магазине через приложение, разработанное специалистами KEDR Solutions
Пользователи могут получать рекламную информацию о заведениях, к которым они приближаются, через приложение на своих смартфонах.
Выполненные работы

Наша команда программистов разработала SDK, который можно легко интегрировать в любое приложение на базе Android с помощью API уровня 18 и выше. Ошибки в SDK не влияют на приложение, позволяя ему работать без прерываний. SDK может выполнять следующие функции:

  • получать сигналы от маячков по протоколу iBeacon;
  • собирать необходимую информацию, такую как ID устройства и текущее время;
  • получать информацию из облака для дальнейшей визуализации

Мы добавили в SDK функционал, позволяющий персоналу создавать учетную запись и добавлять в систему маячки.

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

  • Организации

  • Места

  • Маячки

  • Конфигурация маячков

  • Аналитика

  • Пользователи

  • Заказы

  • Документация
    Скриншот панели индикаторов платформы управления данными (DMP) - Разработка КЕДР Solutions
    Скриншот панели индикаторов платформы управления данными (DMP)
    Геолокация маячков указывается персоналом в качестве точных спутниковых координат. Она отображается в панели индикаторов с использованием Google Maps.
    Использованные технологии
    • Для связи с маячками мы использовали протокол iBeacon.
    • В проекте использовались модели маячков Sensoro SmartBeacon-4AA и Sensoro B0 Yunzi.
    • Беспроводная коммуникация реализована с помощью технологии Bluetooth Low Energy (BLE) (Bluetooth 4.0 и более поздние версии).
    • Платформа управления данными работает на Linux.
    • Для разработки SDK и тестового приложения мы использовали Android Studio IDE.
    • SDK и тестовое приложение написаны на Java/Kotlin.
    • Облачное решение разработано с помощью Amazon Web Services, таких как AWS IoT, AWS Lambda и Amazon SNS.
    • Для разработки облачного решения (DMP) мы также использовали стек MEAN (MongoDB, Express.js, Angular.js, Node.js).

    Итоги

    КЕДР Solutions разработала эффективное оригинальное решение для онлайн-рекламы, которое могут использовать магазины, рестораны, склады и другие предприятия.

    Решение представляет собой систему plug-and-play. Она состоит из BLE-маячков, которые любой сотрудник предприятия может легко расставить по помещению. Чтобы начать пользоваться системой, нужно лишь войти в свою учетную запись.

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

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

    Точность позиционирования в помещении зависит от силы сигнала, эффектов отражения и поглощения сигналов, а также плотности маячков: чем их больше в помещении, тем выше точность. Максимальная точность позиционирования может достигать 1 метра.
    Взаимодействие компонентов в системе BLE-маячков, разработанной инженерами KEDR Solutions
    Взаимодействие компонентов в нашей системе BLE-маячков
    Уровень API, поддерживаемый SDK:
    18 и выше
    Число маячков, поддерживаемых системой:
    более 500 000
    Точность позиционирования в помещении:
    до 1 метра