Flurry — различия между версиями
Sadovoy (обсуждение | вклад) м |
Sadovoy (обсуждение | вклад) м (→Отправка объектом Economics Flurry событий и параметров) |
||
Строка 246: | Строка 246: | ||
14) Периодически при изменении игрового времени - '''t_log_play_N''': | 14) Периодически при изменении игрового времени - '''t_log_play_N''': | ||
− | *'''usd_spent''' - количество потраченных $(берётся из опций - '''total_usd'''); | + | *'''usd_spent''' - количество потраченных $(берётся из опций - '''total_usd''' (глобально)); |
− | *'''hints_used_total''' - количество исспользованых хинтов (берётся из опций - '''hints_used_total'''); | + | *'''hints_used_total''' - количество исспользованых хинтов (берётся из опций - '''hints_used_total''' (из пользователя)); |
*'''num_loc''' - количество сыгранных локаций; | *'''num_loc''' - количество сыгранных локаций; | ||
*'''minigames_play_count''' - количество сыгранных монстров; | *'''minigames_play_count''' - количество сыгранных монстров; |
Текущая версия на 14:41, 16 марта 2018
Объект flurry используется для сбора статистики об использовании приложения.
По умолчанию записывает такие параметры как время сессии, количество сессий, устройство, версия ОС, количество пользователей, и представляет эти данные в виде графиков и таблиц. Также можно записать какие кнопки нажимались, время между нажатиями определённых кнопок. Для сбора общих данных достаточно добавить в соответствующем виде flurry-id приложения в app.icf или в viewer.xml соответствующей платформы перед сборкой. Для сбора данных о нажатиях кнопок и др. необходимо кроме добавления flurry-id приложения в app.icf или в viewer.xml соответствующей платформы, также добавить в проект объект типа flurry и передавать ему интересующие события.
Общая статистика на сервисе Flurry выглядит примерно так:
Параметры и состояния объекта flurry
Параметры объекта flurry
Чтобы в игре установить сбор статистики нажатий определённых кнопок необходимо в редакторе сцен добавить объект Flurry (желательно на глобальный экран) и передать ему определённые параметры. У объекта flurry есть 3 параметра которые можно задавать. Это:
- event - задаёт имя события
- param_name - задаёт имя параметра
- param_value - задаёт значение параметра
Для корректной работы сбора статистики с нажатия кнопки все три поля должны быть обязательно заполнены. Рассмотрим принцип формирования названий событий на примере кнопки выбора пака в пазлах.
Параметр event должен обозначить общее название группы событий, на пример Pack_select;
Параметр param_name должен указывать на конкретный параметр который будет записываться, в нашем случае его можно назвать pack_name;
Параметр param_value задаёт конкретное значение параметра, на пример pack_1.
Добавляемые параметры
обязательный параметр - для каждого эвента будем добавлять указанный параметр.
- имя - имя параметра.
- поле - поле в опциях (только из пользователя).
Состояния объекта flurry
- event - отправляет накопленные данные
В самом объекте flurry можно задать начальные параметры, но при изменении его параметров те которые были - изменятся, а если до изменения параметров перевести объект flurry в состояние event, то на сервер статистики отправятся значения по-умолчанию, которые были записаны.
- send_log - отправляет файл walkthrough.log на сервер
В файл walkthrough.log флури пишет прохождение по игре: каждая строка лога содержит значения ключевых параметров (опыт, монеты, кристаллы, последний выполненный таск и т.д.) на момент записи, запись новой строки вызывается при наступлении различных событий (повышение уровня, начисление ресурса, выполнение задния и т.д.)
Внимание!!! В проекте, собранном без дебага, лог не пишется. Для логирования прохождения без дебага нужно в app.icf в группе Flurry указать log_walkthrough = 1 (это касается файла walkthrough.log). С дебагом будет логироваться вне зависимости от этого.
Пример применения объекта flurry
Пример того как кнопка отправляет на сервер информацию о том, что она была нажата:
В данном случае кнопка записывает событие, название параметра, значение параметра, и сразу отправляет на сервер статистики.
Настройки приложения для отправки статистики
Для отправки статистики также необходимо добавить flurry-id в app.icf или в viewer.xml соответствующей платформы. Т.к. нагляднее выглядит статистика отдельно для платформы ios и отдельно для android, а также поскольку сервис предоставляет разные flurry-sdk для каждой из платформ, то flurry-id лучше всего вставлять в viewer.xml соответствующей платформы.
В app.icf необходимо добавить строки:
[Flurry]
game_id="здесь указывается flurry-id приложения"
или добавить в viewer.xml соответствующей платформы такую строку после globaltop, если таковой имеется, если его нет, то после настроек банеров (<banners platform_id="".../>):
<flurry game_id="здесь указывается flurry-id приложения"/>
Реклама
Управление показом рекламы идёт через объект типа Advertisement.
В объекте Advertisement в качестве провайдера должен быть указан объект типа flurry и должны быть указаны тип, space, size.
Также в app.icf или viewer.xml должен быть указан flurry id приложения, согласно ему идет работа банерной системы.
Кроме этого в итоговый AndroidManifest.xml должны быть добавлены следующие строки:
<activity android:name="com.flurry.android.FlurryFullscreenTakeoverActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode" android:hardwareAccelerated="true" > </activity>
Также должно быть следующее разрешение:
<uses-permission android:name="android.permission.INTERNET"/>
Примечания
Исходя из значений параметров будет строиться на сервисе Flurry диаграмма по параметру указанному в param_name. К примеру, если для одной кнопки зададим в param_value значение pack_1, второй кнопке зададим значение pack_2, то в итоге, на странице сервиса в статистике приложения в раздеде Events получим список событий, которые были записаны, если выберем событие и выберем отобразить статистику по параметрам, для наглядности в круговой диаграмме, то увидим круговую диаграмму с долями которые занимает определённый параметр. Доли высчитываются исходя из количества пришедших значений параметров, то есть если 3 раза придёт значение pack_1 и один раз придёт значение pack_2, то доля pack_1 будет 75%, а pack_2 - 25% .
Также можно выбрать из выпадающего списка по каким параметрам(которые указывались в param_name в рамках текущего имени события) необходимо отобразить статистику по значениям параметра.
Рекомендации Flurry к событиям
- Составьте цели и план действий вокруг приложения
- Если Вы хотите изменять функционал - отслеживайте его
- Убедитесь что Вы собираете события вокруг навигации и монетизации
- Имена событий должны легко различаться и поддаваться категоризации
- Используйте временные события. Flurry автоматически разобьёт их по группам и Вы получите наглядную информацию.
- Не тратьте много времени на планирование. Вы можете добавить события позже.
Рекомендации Flurry к параметрам
Отправка объектом Economics Flurry событий и параметров
Объект Economicsавтоматически оправляет следующие Flurry события и параметры:
1) При достижении уровня - xplevel_ _reached:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- xplevel - Уровень опыта
- coins_spent_log - Сколько потрачено монет
- coins_left_log - Сколько осталось монет
- diams_spent - Сколько потрачено кристаллов
- diams_left - Сколько осталось кристаллов
- hints_used - Сколько хинтов использовано
2) При покупке в банке - purchase_ok_<item>:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- price_usd - Цена в долларах
- history - История покупок через запятую
- total_usd - Сколько суммарно потрачено денег
- last_location - Последняя локация
- last_task - Последняя мода
- was_discount - Была ли скидка
- from_hidden - 1-из хиддена, 0 -из меню
- last_anomaly - Последняя аномалия
3) При первой покупке энергии - 1st_run_buy_energy:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_price - Цена в кристаллах
- last_task_open - Последняя открытая таска
- last_loc - Последняя сыгранная локация
- xp_level - Уровень пользователя
- energy_left - Сколько осталось энергии
4) При первом использовании энергии - 1st_run_use_energy:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_price - Цена в кристаллах
- last_task_open - Последняя открытая таска
- last_loc - Последняя сыгранная локация
- xp_level - Уровень пользователя
- energy_left - Сколько осталось энергии
5) При покупке энергии - buy_energy:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_pric - Цена в кристаллах
- last_task_open - Последняя открытая таска
- last_loc - Последняя сыгранная локация
- xp_level - Уровень пользователя
6) При покупке энергии - buy_energy:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_pric - Цена в кристаллах
- last_task_open - Последняя открытая таска
- last_loc - Последняя сыгранная локация
- xp_level - Уровень пользователя
7) При покупке хинтов - buy_hints:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_price - цена в кристаллах
- last_task_open - Последняя открытая таска
- last_loc - Последняя сыгранная локация
- xp_level - Уровень пользователя
- from_game - 1- да, 0 -нет
- was_anomaly - 1 - да, 0 -нет
8) При покупке амулетов - buy_amulets:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_price - Цена в кристаллах
- last_task_open - Последняя открытая таска
- last_loc - Последняя сыгранная локация
- xp_level - Уровень пользователя
- from_game - 1- да, 0 -нет
- from_main_menu - 1 - да, 0 -нет
9) При использовании амулетов - use_amulets:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_price - Цена в кристаллах
- last_task_open - Последняя открытая таска
- last_loc - Последняя сыгранная локация
- xp_level - Уровень пользователя
- from_game - 1- да, 0 -нет
- from_main_menu - 1 - да, 0 -нет
10) При покупке чарджеров - buy_chargers:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_price - Цена в кристаллах
- coins_price - Цена в монетках
- xp_level - Уровень пользователя
11) При покупке доступов к локациям - buy_keys:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_price - Цена в кристаллах
- coins_price - Цена в монетках
- xp_level - Уровень пользователя
12) При покупке ингридиентов для крафта - buy_Ingridients (buy_parts):
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_price - Цена в кристаллах
- coins_price - Цена в монетках
- xp_level - Уровень пользователя
13) При покупке ингридиентов для крафта - buy_Ingridients:
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- id - Id предмета
- diams_price - Цена в кристаллах
- coins_price - Цена в монетках
- xp_level - Уровень пользователя
14) Периодически при изменении игрового времени - t_log_play_N:
- usd_spent - количество потраченных $(берётся из опций - total_usd (глобально));
- hints_used_total - количество исспользованых хинтов (берётся из опций - hints_used_total (из пользователя));
- num_loc - количество сыгранных локаций;
- minigames_play_count - количество сыгранных монстров;
- t_log_play - Время логарифмическое игровое
- t_log_cal - Время логарифмическое календарное
- diams_price - Цена в кристаллах
- coins_price - Цена в монетках
- xp_level - Уровень пользователя
Перечень source для событий coins_get, energy_get, diams_get
SOURCE_UNKNOWN = 0, //!< неизвестный источник SOURCE_PURCHASE = 1, //!< покупка SOURCE_HIDDEN_WIN = 2, //!< выигрыш в хиддене SOURCE_MINIGAME_WIN = 3, //!< выигрыш в миниигре SOURCE_DAILY_BONUS = 4, //!< дейли бонус SOURCE_SOCIAL_BONUS = 5, //!< бонусы за социалку SOURCE_CASINO = 6, //!< казино SOURCE_EXCHANGE = 7, //!< биржа SOURCE_DEPOSIT = 8, //!< депозит SOURCE_COLLECTION_GOT = 9, //!< сдача коллекций SOURCE_GUES = 10, //!< угадайка SOURCE_TASK_COMPLETE = 11, //!< выполнена задача SOURCE_TRIVIA = 12, //!< миллионер SOURCE_REDEEM = 13, //!< начисление из админки SOURCE_LEVEL_UP = 14, //!< достижение уровня SOURCE_USE_ITEM = 15, //!< использование предмета SOURCE_PET_GOLD_COLLECTED = 16, //!< собрали бонус животного у пэта SOURCE_PET_COLLECTION_GOT = 17, //!< сдача коллекции животных SOURCE_SLOTMACHINE = 18, //!< слотмашина SOURCE_RPGBATTLE = 19, //!< псевдоРПГ бой SOURCE_SLOTFALLING = 20, //!< вторая слотмашина SOURCE_MAP_CHEST = 21, //!< сундуки на карте SOURCE_ADVERTISEMENT = 22, //!< реклама SOURCE_CONTEST_PRIZE = 23, //!< CONTEST_PRIZE SOURCE_HID356_1 = 31, //!< SOURCE_HID356_1 - специальный источник, под Ваш проект - награда №1 за механику, которую реализуется не встроенным объектом (движковым) SOURCE_HID356_2 = 32, //!< SOURCE_HID356_2 SOURCE_HID356_3 = 33, //!< SOURCE_HID356_3 SOURCE_HID356_4 = 34, //!< SOURCE_HID356_4 SOURCE_HID356_5 = 35, //!< SOURCE_HID356_5 SOURCE_HID356_6 = 36, //!< SOURCE_HID356_6 SOURCE_HID356_7 = 37, //!< SOURCE_HID356_7 SOURCE_HID356_8 = 38, //!< SOURCE_HID356_8 SOURCE_HID356_9 = 39 //!< SOURCE_HID356_9
Ограничения для разных сервисов статистики
- Flurry:
- 300 уникальных имен событий,
- 10 параметров,
на данный момент отображаются топ-500 значений параметров для каждого события
- FaceBook:
- 1000 уникальных имен событий,
- 25 параметров,
- Максимальное кол-во символов в значении параметра - 100
- Amazon:
- 1500 уникальных пользовательских имен событий
- 40 параметров,
- Максимальное кол-во символов в названии параметра - 50,
- Максимальное кол-во символов в значении параметра - 200