Может ли аналитика Flurry предоставить среднюю целочисленную информацию?
Мне нужно интегрировать Flurry с Android и узнать, как долго (в минутах) пользователь будет находиться на главном экране. Можно ли получить такую аналитику с помощью Flurry? Когда я проверил Flurry, он дал мне статистику по количеству попаданий на определенном экране. То, что я хочу знать, это среднее время, проведенное пользователем на главном экране. Пожалуйста, помогите в этом отношении.
3 ответа
Это может быть достигнуто через синхронизированное событие. Просто вызовите один из следующих методов, чтобы запустить синхронизированное событие. В вашем сценарии это должно быть сделано в методе onStart вашего основного экрана.
- logEvent (String eventId, логическое время)
- logEvent (String eventId, параметры карты, логическое время)
Чтобы закончить ваше событие
- endTimedEvent(String eventId)
В вашем сценарии это будет вызвано в методе onStop вашего главного экрана. Убедитесь, что вы передаете значение true для логического параметра timed и всегда сопоставляете идентификаторы событий в onStart и onStop каждой операции.
Flurry автоматически сообщит о следующих показателях в вашей учетной записи на портале разработчика в разделе Приложения> События> Идентификатор вашего мероприятия. Выберите ссылку "Длительность события" или значок (часы):
Средняя продолжительность события - показывает общее время события, разделенное на количество событий за определенный период времени. Например, скажем, у вас есть 2 пользователя вашего приложения в какой-то период времени. Пользователь A просматривает ваш главный экран в течение 10 секунд, переходит на дополнительный экран и возвращается к главному экрану для просмотра в течение 3 секунд. Пользователь B просматривает ваш главный экран в течение 20 секунд. Это сообщается как (10+3+20)/3 = 11 секунд.
Продолжительность события на сессию - показывает среднюю продолжительность события на сессию. Сеанс определяется как пользователь, находящийся в любом представлении вашего приложения без перерыва, превышающего 10 секунд (10 секунд является временем паузы по умолчанию и может быть обновлено). Например, ваш пользователь просматривает основной экран в течение 15 секунд, переходит на дополнительный экран, возвращается на главный экран в течение 5 секунд. Продолжительность события для этого варианта использования составляет 20 секунд для сеанса. Затем это усредняется с другим сеансом за тот же период времени.
Продолжительность события на пользователя - показывает среднюю продолжительность события на пользователя. Пользователь может использовать ваше приложение несколько раз в течение определенного периода времени. Например, за день, скажем, пользователь просматривает ваше приложение 3 раза (3 сеанса). В первом сеансе пользователь просматривает главную страницу в течение 5 секунд, второй сеанс в течение 10 секунд, третий сеанс в течение 15 секунд. Продолжительность события для этого пользователя составляет 30 секунд для дня. Затем это усредняется со всеми другими пользователями за тот же период времени.
Я покажу вам простой пример. В этом коде я хочу регистрировать простые события и другие события с категорией.
public void logAnalyticsEvent(final String versionName, final String strMsg, final String category){
if (category==null){
FlurryAgent.logEvent(strMsg);
}else{
final HashMap<String, String> parameters = new HashMap<String, String>();
parameters.put("Event",strMsg );
FlurryAgent.logEvent(category, parameters);
}
}
в первой части условия я регистрирую единственное событие, во второй части я помещаю имя события в параметры de (хэш-карту с ключом с именем "Событие" и значением имени события) и я войти название категории с параметрами (события внутри)
FlurryAgent.logEvent(category, parameters);
Надеюсь это поможет!
Я не уверен насчет Flurry, но вы определенно можете сделать это, используя атрибуты событий в Localytics (www.localytics.com). Просто следите за тем, сколько времени пользователь проводит на главном экране (или любой другой активности в вашем приложении по этому вопросу), а затем запишите это как атрибут события с группировкой для события, которое вы запускаете, когда эта активность заканчивается.
Пример Psuedocode:
ActivityStart() {
long startTime = getTimeInMilliseconds();
}
ActivityClosing() {
long endTime = getTimeInMilliseconds();
}
ApplicationExitPath() {
long timeSpent = endTime - startTime;
String timeBucket = bucketizeTime(timeSpent);
Dictionary attributes = [ "Main Activity Time Spent", timeBucket];
tagEvent("App Exit", attributes);
}
String bcketizeTime(Long timeSpent) {
if(timeSpent < 1000) { return "less than 1 second"; }
if(timeSpent < 10000) { return "1 - 10 seconds"; }
if(timeSpent < 30000) { return "10 - 30 seconds"; }
...
}