Flury 分析可以提供整数信息的平均值吗?

发布于 2024-10-30 18:03:33 字数 146 浏览 3 评论 0原文

我需要将 Flurry 与 Android 集成,并想知道用户将在主屏幕上停留多长时间(以分钟为单位)。使用 Flurry 可以得到这样的分析吗?当我检查 Flurry 时,它为我提供了特定屏幕上点击计数的统计数据。我想知道的是用户在主屏幕上花费的平均时间。请在这方面提供帮助。

I need to integrate Flurry with Android and want to know how long (in minutes) user will be staying in main screen. Is it possible to get such analytic using Flurry? When I checked Flurry, it gave me the statics on hit counts on a specific screen. What I want to know is the average time spent by user in main screen. Kindly help in this regard.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苦笑流年记忆 2024-11-06 18:03:33

这可以通过定时事件来完成。只需调用以下方法之一即可启动定时事件。在您的场景中,这应该在主屏幕的 onStart 方法中完成。

  • logEvent(String eventId, boolean timed)
  • logEvent(String eventId, Mapparameters, boolean timed)

要结束定时事件,请调用

  • endTimedEvent(String eventId)

在您的场景中,这将在主屏幕的 onStop 方法中调用。确保为布尔定时参数传递 true,并且始终匹配每个 Activity 的 onStart 和 onStop 中的 eventId。

Flurry 将在您的开发门户帐户中的“应用程序”>“应用程序”下自动报告以下指标:活动>您的活动 ID。选择“事件持续时间”链接或图标(时钟):

平均事件持续时间 - 该报告报告总事件时间除以某个时间段内的事件数量。例如,假设您的应用程序在某个时间段内有 2 位用户。用户 A 查看主屏幕 10 秒,转到辅助屏幕并返回主屏幕查看 3 秒。用户 B 查看您的主屏幕 20 秒。报告为 (10+3+20)/3 = 11 秒。

每个会话的事件持续时间 - 这报告每个会话的事件的平均时间长度。会话被定义为用户在应用程序的任何视图中没有中断超过 10 秒(10 秒是默认暂停时间,可以更新)。例如,您的用户查看主屏幕 15 秒,转到辅助屏幕,然后返回主屏幕 5 秒。该用例的事件持续时间为会话 20 秒。然后将其与同一时间段内的其他会话进行平均。

每个用户的事件持续时间 - 这报告每个用户的事件的平均时间长度。用户可以在给定时间段内多次使用您的应用程序。例如,假设用户一天查看您的应用 3 次(3 个会话)。在第一个会话中,用户查看主页 5 秒,第二个会话 10 秒,第三个会话 15 秒。该用户的活动持续时间为当天 30 秒。然后将其与同一时间段内的所有其他用户进行平均。

This can be accomplished through a timed event. Simply call one of the following methods to start the timed event. In your scenario this should be done in the onStart method of your main screen.

  • logEvent(String eventId, boolean timed)
  • logEvent(String eventId, Map parameters, boolean timed)

To end your timed event call

  • endTimedEvent(String eventId)

In your scenario this would be called in the onStop method of your main screen. Make SURE you pass in true for the boolean timed parameter and you always match eventIds in the onStart and onStop of each Activity.

Flurry will automatically report the following metrics in your dev portal account Under Applications > Events > Your Event Id. Choose the Event Duration link or icon (a clock):

Average Event Duration - This reports the total event time divided by number of events across some period in time. For example, say you have 2 users of your app in some time period. User A views your main screen for 10 seconds, goes to a secondary screen and returns to your main screen to view for 3 seconds. User B views your main screen for 20 seconds. This is reported as (10+3+20)/3 = 11 seconds.

Event Duration Per Session - This reports the average length of time of an event per session. A session is defined as a user being within any View of your app without interruption exceeding 10 seconds (10 seconds is the default pause time and can be updated). For example, your user views the main screen for 15 seconds, goes to a secondary screen, returns to the main screen for 5 seconds. The event duration for that use case is 20 seconds for the session. This is then averaged with the other session over the same time period.

Event Duration Per User - This reports the average length of time of an event per user. A user can use your app multiple times in a given time period. For example, in a day say a user views your app 3 times (3 sessions). In the first session your user views the main page for 5 seconds, second session for 10 seconds, third session for 15 seconds. The event duration for this user is 30 seconds for the day. This is then averaged with all other users over the same time period.

灵芸 2024-11-06 18:03:33

我向您展示一个简单的例子。
在此代码中,我想记录简单事件和其他具有类别的事件。

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);
        }


}

在条件的第一部分中,我只记录事件,在第二部分中,我将事件的名称放入参数(一个哈希映射,其键名为“Event”,值为事件的名称),然后我记录带有参数的类别名称(内部事件)

FlurryAgent.logEvent(category, parameters);

希望这有帮助!

I show you a simple example.
In this code i want to log simple events and other events with a category.

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);
        }


}

in the first part of the condition i'm logging the only the event, in the second part I put the name of the event inside de parameters (a hashmap with a key named "Event" and value the name of the event) and I log the name of the category with the parameters (events inside)

FlurryAgent.logEvent(category, parameters);

Hope this helps!

随心而道 2024-11-06 18:03:33

我不确定 Flurry,但您绝对可以使用 Localytics (www.localytics.com) 的事件属性来做到这一点。只需跟踪用户在主屏幕上花费的时间(或应用程序中与此相关的任何活动),然后将其记录为存储桶事件属性,记录到该活动结束时触发的事件。

伪代码示例:

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"; }
  ...
}

I'm not sure about Flurry, but you can definitely do this using event attributes with Localytics (www.localytics.com). Simply keep track of how long the user spends on the main screen (or any activity within your application for that matter) and then record it as a bucketed event attribute to an event you fire when that activity is over.

Psuedocode example:

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"; }
  ...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文