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

Игровые механики в In-App — это интерактивный инструмент вовлечения пользователей мобильного приложения: пользователь крутит колесо призов, получает приз и оставляет контакт. Такие механики помогают деанонимизировать клиентов, активировать новых пользователей, возвращать «спящих» и мотивировать повторные заказы.

game-mechanics-inapp-examples.png
Доступно три шаблона: «Лента удачи», «Колесо фортуны», «Билет удачи».

Примечание

Как настроить форму «Секретный подарок», читайте в статье.

Чтобы запустить механику, нужно:

  1. Убедиться, что в приложении установлена подходящая версия Mindbox SDK.
  2. Создать In-App из шаблона игровой механики.
  3. Создать дополнительное поле, в которое будет записываться выигрыш.
  4. Настроить сценарий, выдающий и отправляющий подарок.
  5. Добавить рассылку с выводом выигрыша.

Требования к версии Mindbox SDK

Игровые механики работают только при наличии актуального мобильного SDK:

  • Минимальная версия SDK: 2.15.0+ (для Android — 2.15.1+).
  • Поддерживаемые платформы: iOS, Android, Flutter, React Native.
  • В проекте должен быть подключен модуль In-App.

Пользователи со старыми версиями SDK не увидят механику. Это снижает охват механики и может искажать результаты АБ-тестов. Заранее проверьте долю аудитории на актуальной версии приложения и запустите In-App для мотивации к обновлению.

Создание In-App

Создайте новый In-App. В окне выбора шаблона перейдите в категорию «Игровые механики» и выберите подходящий формат: «Лента удачи», «Колесо фортуны» или «Билет удачи».

game-mechanics-inapp-templates.png

Настройки In-App

Перейдите в редактирование шаблона и скорректируйте дизайн под стиль приложения.

Игровые формы состоят из трех экранов:

  1. Экран механики — заголовок, анимация (колесо, лента, билет) и кнопка действия.
  2. Экран сбора контактов (опционально) — поля для контактов клиента и согласие на коммуникации. Если контакты собирать не нужно, экран можно отключить в настройках формы.
  3. Экран «Спасибо» — подтверждение выигрыша и инструкция, как и где можно получить или применить приз.

Подарки

Откройте настройки игрового элемента, чтобы перейти к секторам и вероятностям выпадения.

game-mechanics-inapp-settings.png

  1. Отредактируйте набор подарков. На одну механику можно настроить до 18 призов.

  2. Кликните на подарок, чтобы открыть его настройки, и укажите:

    • Название или картинку подарка.
    • Идентификатор выигрыша. Идентификатор будет передаваться в действие или в поле клиента и использоваться для определения подарка в сценарии. Подробнее тут.
    • Текст, который увидит пользователь при выигрыше этого подарка.

    game-mechanics-inapp-prize.png

  3. Укажите вероятность выпадения подарков:

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

    game-mechanics-inapp-chance.png

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

Поля сбора контактов

  1. Перейдите в настройки второго экрана с помощью вкладок на верхней панели настроек.

  2. Нажмите «Добавить элемент» и выберите поля (email, телефон, имя), в которых будут запрашиваться данные клиента для отправки подарка.

    game-mechanics-inapp-data-fields.png

Если сбор контактов в этой механике не нужен, экран с формой можно скрыть — пользователь перейдет сразу с экрана механики на экран «Спасибо».

game-mechanics-inapp-data-off.png

Что нельзя сделать в форме In-App

  • Подставить персональные данные (имя, баланс бонусов, персональный промокод) в тексты механики — содержимое экранов статичное. Персонализация можно использовать в рассылке после участия;
  • Учесть содержимое списка клиента или историю заказов в реальном времени — форма «не знает», что у пользователя в корзине;
  • Динамически менять набор призов в реальном времени.

Таргетинг

Ограничьте показ In-App по сегменту, событию в приложении, частоте и датам акции, чтобы он показывался только нужной аудитории. Базовые настройки In-App — в общей инструкции.

Настройка передачи данных на проект

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

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

  1. Создайте дополнительное поле по сущности «Действие» с типом «Строковый».

game-mechanics-inapp-action-customfield.png

  1. В настройках In-App «Действия после заполнения In-App’а клиентом» задайте создание клиента с контактом и выдачу действия, в дополнительное поле которого запишется выигрыш:

    • Поле в Mindbox — созданное поле по действию.
    • Поле In-App’а — «Результат».
    game-mechanics-inapp-action-mapping.png
    Пример для формы, которая собирает email-адрес клиента
  1. Создайте дополнительное поле по сущности «Клиент» с типом «Строковый».

game-mechanics-inapp-customer-customfield.png

  1. В настройках In-App «Действия после заполнения In-App’а клиентом» задайте создание клиента с контактом и заполнение поля подарка, а также выдачу действия:

    • Поле в Mindbox — созданное поле по клиенту.
    • Поле In-App’а — «Результат».
    game-mechanics-inapp-customer-mapping.png
    Пример для формы, которая собирает email-адрес клиента

Выдача и отправка подарка в сценарии

Форма In-App — это только игровая часть. Выдача промокодов и рассылка настраиваются отдельным сценарием.

Заранее создайте:

  • Автоматическую рассылку(email, SMS или мобильный пуш) для отправки подарка;
  • Пулы с промокодами. Подарки будут выдаваться в виде промокодов, которые можно использовать в качестве бенефита к следующей покупке. Для каждого типа подарка нужен отдельный пул.

Как настроить сценарий:

  1. Запускающее событие — выдача подарка. Выберите шаблон из In-App.

    game-mechanics-inapp-workflow-event.png

  2. Проверьте значение выигрыша через режим «Мультиветки». Добавьте все варианты так, как они указаны в идентификаторе выигрыша.

    game-mechanics-inapp-multibranch-action.png

    game-mechanics-inapp-multibranch-customer.png

  3. В каждой ветке выдайте промокод из соответствующего пула и отправьте рассылку.

    game-mechanics-inapp-workflow-branch.png

  4. Настройте отправку для каждого приза и запустите сценарий.

    game-mechanics-inapp-workflow-done.png

Вывод подарка в рассылке

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

Например, нужно вывести сообщение:

Используйте промокод PROMO для получения PRIZE на следующую покупку.
        

Где вместо PROMO — код клиента, а вместо PRIZE — тип выигрыша.

Параметры:

  • CustomerAction.CustomField.{Системное_имя_дополнительного_поля_действия}.Name - полученный в форме подарок из дополнительного поля действия;
  • Recipient.LastReceivedPromoCode.{Системное_имя_пула_промокодов}.Value - промокод клиента, полученный из определенного пула промокодов.

Пример:

Используйте промокод
        
        @{if CustomerAction.CustomField.Gift = "Скидка 5"}
            ${Recipient.LastReceivedPromoCode.WithTypeNovyjPulPromokodov1.Value} для получения скидки 5%
        
        @{else if CustomerAction.CustomField.Gift = "Доставка"}
            ${Recipient.LastReceivedPromoCode.WithTypeNovyjPulPromokodov2.Value} для получения бесплатной доставки
        
        @{else if CustomerAction.CustomField.Gift = "Бонус 400"}
            ${Recipient.LastReceivedPromoCode.WithTypeNovyjPulPromokodov3.Value} для получения 400 бонусов
        
        @{else if CustomerAction.CustomField.Gift = "Бонус 500"}
            ${Recipient.LastReceivedPromoCode.WithTypeNovyjPulPromokodov4.Value} для получения 500 бонусов
        
        @{end if}
        
        на следующую покупку.
        

Параметры:

  • Recipient.CustomField.{Системное_имя_дополнительного_поля_клиента} - полученный в форме подарок из дополнительного поля клиента;
  • Recipient.LastReceivedPromoCode.{Системное_имя_пула_промокодов}.Value - промокод клиента, полученный из определенного пула промокодов.

Пример:

Используйте промокод
        
        @{if Recipient.CustomField.Gift = "Скидка 5"}
            ${Recipient.LastReceivedPromoCode.WithTypeNovyjPulPromokodov1.Value} для получения скидки 5%
        
        @{else Recipient.CustomField.Gift = "Доставка"}
            ${Recipient.LastReceivedPromoCode.WithTypeNovyjPulPromokodov2.Value} для получения бесплатной доставки
        
        @{else if Recipient.CustomField.Gift = "Бонус 400"}
            ${Recipient.LastReceivedPromoCode.WithTypeNovyjPulPromokodov3.Value} для получения 400 бонусов
        
        @{else if Recipient.CustomField.Gift = "Бонус 500"}
            ${Recipient.LastReceivedPromoCode.WithTypeNovyjPulPromokodov4.Value} для получения 500 бонусов
        
        @{end if}
        
        на следующую покупку.
        
        

Пример полученного сообщения:

Используйте промокод 1234ABCD для получения 400 бонусов на следующую покупку.