Flurry

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск

Объект flurry используется для сбора статистики об использовании приложения.

По умолчанию записывает такие параметры как время сессии, количество сессий, устройство, версия ОС, количество пользователей, и представляет эти данные в виде графиков и таблиц. Также можно записать какие кнопки нажимались, время между нажатиями определённых кнопок. Для сбора общих данных достаточно добавить в соответствующем виде flurry-id приложения в app.icf или в viewer.xml соответствующей платформы перед сборкой. Для сбора данных о нажатиях кнопок и др. необходимо кроме добавления flurry-id приложения в app.icf или в viewer.xml соответствующей платформы, также добавить в проект объект типа flurry и передавать ему интересующие события.

Общая статистика на сервисе Flurry выглядит примерно так:

Flurry sum stat.jpg

Параметры и состояния объекта flurry

Параметры объекта flurry

Чтобы в игре установить сбор статистики нажатий определённых кнопок необходимо в редакторе сцен добавить объект Flurry (желательно на глобальный экран) и передать ему определённые параметры. У объекта flurry есть 3 параметра которые можно задавать. Это:

  • event - задаёт имя события
  • param_name - задаёт имя параметра
  • param_value - задаёт значение параметра

Для корректной работы сбора статистики с нажатия кнопки все три поля должны быть обязательно заполнены. Рассмотрим принцип формирования названий событий на примере кнопки выбора пака в пазлах.

Параметр event должен обозначить общее название группы событий, на пример Pack_select;

Параметр param_name должен указывать на конкретный параметр который будет записываться, в нашем случае его можно назвать pack_name;

Параметр param_value задаёт конкретное значение параметра, на пример pack_1.

Добавляемые параметры

+.png обязательный параметр - для каждого эвента будем добавлять указанный параметр.

  • имя - имя параметра.
  • поле - поле в опциях (только из пользователя).

Состояния объекта flurry

  • event - отправляет накопленные данные

В самом объекте flurry можно задать начальные параметры, но при изменении его параметров те которые были - изменятся, а если до изменения параметров перевести объект flurry в состояние event, то на сервер статистики отправятся значения по-умолчанию, которые были записаны.

  • send_log - отправляет файл walkthrough.log на сервер

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

Внимание!!! В проекте, собранном без дебага, лог не пишется. Для логирования прохождения без дебага нужно в app.icf в группе Flurry указать log_walkthrough = 1 (это касается файла walkthrough.log). С дебагом будет логироваться вне зависимости от этого.

Пример применения объекта flurry

Пример того как кнопка отправляет на сервер информацию о том, что она была нажата:

Flurry button.jpg

В данном случае кнопка записывает событие, название параметра, значение параметра, и сразу отправляет на сервер статистики.


Настройки приложения для отправки статистики

Для отправки статистики также необходимо добавить 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 ev stat.jpg


Рекомендации 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