MyTracker SDK соберёт статистику по каждому пользователю приложения и сформирует базу данных необходимую для построения рекомендаций.
Подключите SDK к приложениям,
с которыми будет взаимодействовать пользователь.
Подробнее см. разделы iOS,
Android,
Unity.
Убедитесь, что вы настроили трекинг покупок и верификацию платежей.
Подробнее см. раздел Трекинг покупок.
Выберите способ идентификации пользователей:
Если ваше приложение предусматривает регистрацию,
и каждый пользователь получает уникальный идентификатор,
то настройте трекинг пользователей через параметр customUserId
(см. документацию на iOS,
Android,
Unity).
customUserId не должен меняться с момента первого запуска приложения
Если в приложении нет системы регистрации или
уникальный идентификатор присваивается не с самого начала использования приложения,
то настройте получение instanceId
(см. документацию на iOS,
Android,
Unity)
и отправляйте instanceId в параметре customUserId.
instanceId идентифицирует физическое устройство,
но не пользователя, поэтому рекомендация для одного и того же пользователя может отличаться на разных платформах
Согласно инструкции по передаче произвольных событий
(для iOS,
Android,
Unity),
настройте отправку следующих событий:
Триггер товара offer_trigger
Покупка товара purchase_offer
Открытие/закрытие карточки товара offer_card
Состояние аккаунта пользователя account_status
Все события должны отправляться с устройства (не с сервера).
При отправке событий, рекомендуем указывать параметр flush,
чтобы события не скапливались в буфере,
(см. инструкцию по принудительной отправке событий для
iOS,
Android,
Unity).
Все параметры событий должны быть переданы в строковом виде,
в качестве разделителя для вещественных чисел используйте точку.
Ниже дано подробное описание перечисленных событий и их параметров.
Триггер товара
Событие offer_trigger должно отправляться в тот момент,
когда пользователь попадает под условие показа товара или выпадает из этого условия
(например, начинает/заканчивает действовать акция в приложении).
Параметры события должны быть переданы в виде строки:
Название параметра
Описание
Пример
action*
Если пользователь начал попадать под условия показа товара,
то значение параметра — "start". Если перестал попадать — "end".
"start"
placement_id*
ID места размещения товара
"A"
sku**
Название бандла в сторе
(может быть не уникальным для предмета в сторе)
"com.app.10dollars"
payload**
Уникальное название предмета внутри приложения
"offer.for.unpaid"
timestamp*
Дата и время события в timestamp (UTC+3 в секундах)
"1597316958"
* — обязательный параметр.
** — обязательный параметр для рекомендации item и необязательный для рекомендации set.
Событие offer_card должно отправляться при каждом открытии/закрытии карточки/экрана с товаром,
участвующего в рекомендации.
Параметры события должны быть переданы в виде строки:
Название параметра
Описание
Пример
action*
Действие с карточкой товара:
открытие "open" или закрытие "close".
Если пользователь открыл и закрыл карточку,
то нужно отправить 2 события с разным action
"open"
placement_id*
ID места размещения товара
"A"
placement_type
Тип места размещения предмета
(поскольку карточка с товаром может быть доступна
с разных экранов приложения).
Значение по умолчанию "any"
"main"
"store"
"pop-up"
sku**
Название бандла в сторе
(не уникально для предмета)
"com.app.10dollars"
payload**
Уникальное название предмета внутри приложения
"offer.for.unpaid"
offer_id*
Идентификатор предмета
"42"
timestamp*
Дата и время открытия/закрытия карточки в timestamp (UTC+3 в секундах)
"1597316958"
* — обязательный параметр.
** — обязательный параметр для рекомендации item и необязательный для рекомендации set.
Событие account_status должно отправляться не реже,
чем при каждом запуске приложения.
В таблице ниже приведены общие параметры,
которые могут охарактеризовать состояние аккаунта.
Попробуйте найти аналог в своём приложении для максимального числа перечисленных параметров.
Чтобы добавить дополнительные параметры,
свяжитесь со службой поддержки MyTracker.
Параметры события должны быть переданы в виде строки:
Название параметра
Описание
Пример
in_game_currency_<name>
Любые балансы внутриигровых ресурсов, где name — название ресурса
"444"
in_game_currency_diamonds
Любые балансы внутриигровых ресурсов, например кристаллы
"5"
in_game_currency_food
Любые балансы внутриигровых ресурсов, например еда
"5"
in_game_currency_gold
Любые балансы внутриигровых ресурсов, например золото
"5"
account_level
Уровень аккаунта
"5"
clan
ID клана
"123123123",
"0" — если не состоит в клане
achievements_count
Количество достижений
"12"
ranking
Рейтинг аккаунта
"99"
power
Ценность аккаунта
"12312312"
friends_count
Количество друзей
"56"
matches_count
Количество матчей
"21312"
wins_count
Количество побед
"12121"
timestamp*
Дата и время события в timestamp (UTC+3 в секундах)
Выберите показатель, который вы хотите улучшить,
например APRU или CR.
По выбранной метрике вы сможете оценить
эффективность использования рекомендаций.
Выберите товар, который будет участвовать в рекомендации:
один предмет или набор предметов (item или set).
Определите целевую аудиторию, для которой будет строится рекомендация:
вся аудитория приложения
сегмент аудитории, который можно задать по нескольким параметрам (подробнее см. раздел Сегменты)
аудитория, которую нельзя определить с помощью сегмента
(в этом случае вы можете предоставить словесное описание целевой аудитории)
Определите все возможные предложения по товару,
среди которых MyTracker Personalize будет подбирать рекомендации.
Каждое предложение должно быть описано следующими полями:
offer_id — идентификатор товара,
который соответствует паре sku+payload
(должен совпадать с тем,
который отправляется в кастомных событиях).
sku — идентификатор товара в магазине приложений
(sku соответствует цене предмета в магазине).
payload — уникальное внутреннее имя товара в приложении.
Вместе со всеми возможными вариантами товара,
необходимо передать резервный вариант,
параметры которого
должны быть идентичны контрольному
Например, три варианта товара для получения рекомендации item:
offer_id
sku
payload
Является контрольным вариантом,
который показывается по умолчанию
"0"
"com.app.id.1"
"offer.for.unpaid"
да (резервный)
"1"
"com.app.id.1"
"offer.for.unpaid"
да
"2"
"com.app.id.2"
"offer.for.unpaid"
нет
"3"
"com.app.id.3"
"offer.for.unpaid"
нет
Например, три варианта товара для получения рекомендации set:
offer_id
sku
payload
Является контрольным вариантом,
который показывается по умолчанию
Перечислите платформы,
на которых будет проведено тестирование: iOS, Android.
Определите размер контрольной и тестируемой групп.
Например, в сегменте Игроки с 10 уровнем
для 30% игроков показывать стандартную цену,
а для 70% игроков —
предложение от Personalize.
Выберите дефолтный товар (item или set),
который попадёт в контрольную группу.
Задайте идентификаторы мест,
где будут крутиться предложения — placement_id.
Для каждого теста должен быть задан свой placement_id.
Определите характер показа рекомендаций:
Как часто можно менять цену на товар.
Какая периодичность и продолжительность показов товара
(например, предложение показывается по таймеру, по выходным каждую неделю и т.д.).
3. Интеграция с Personalize API
Настройте интеграцию с Personalize API, чтобы в режиме реального времени
отправлять запросы на рекомендацию на сервер MyTracker
и показывать персонализированные предложения внутри приложения.
Ознакомьтесь с особенностями отправки запросов:
Запросы с разных платформ (iOS, Android, Unity, Flutter)
должны приходить отдельно, каждый со своим sdk_key.
Чтобы получить sdk_key
нужно подключить SDK к приложению.
Выберите один из вариантов отправки запросов:
С мобильного устройства.
В этом случае оптимальным будет
асинхронный запрос на получение рекомендаций
сразу после загрузки приложения.
С бэкенда мобильного приложения.
Рекомендуем отправлять запросы не раньше,
чем пользователь получит доступ к рекомендуемым товарам,
чтобы MyTracker успел собрать как можно больше сведений о пользователе.
Повторные запросы необходимо совершать как минимум раз в сутки.
Предусмотрите следующие возможности:
Кэширование последних рекомендаций на стороне клиента.
Это нужно для того, чтобы при неполадках в сети,
задержке в получении рекомендации или ошибке со стороны сервера,
отдать самую актуальную рекомендацию для пользователя.
Асинхронная отправка запроса.
Использование параметра reset в запросах к API (опционально).
Если reset=True, то сервис отдает самую свежую рекомендацию для пользователя
(цена товара может измениться).
Если reset=False, то будет возвращена последняя выданная ранее рекомендация
(цена товара останется прежней).
После подключения MyTracker Personalize, пользователи приложения
будут получать индивидуальные предложения. В зависимости от заданных вами условий,
рекомендуемые цены могут быть отображены как скидка или как цена по умолчанию:
Автоматические отчёты по результатам A/B теста и сведения о прибыли, полученной в результате
персональных рекомендаций,
будут приходить вам на почту, в Telegram-канал или другим удобным для вас способом.