在Android应用程序

时间:2016-06-10 10:31:58

标签: java android google-analytics google-analytics-v4

我正在尝试跟踪用户在一天内花在我的应用程序上的时间并将此数据发送到我的服务器。我想知道谷歌分析可以为我做这项工作,我搜索了这个,我来到了解谷歌分析可以测量屏幕视图,让您可以查看用户最常查看的内容,以及他们如何在不同的内容之间导航。 我想谷歌分析会话跟踪?(我还没有找到这个)。 如果google analytic没有做这项工作,你可以建议我如何手动完成,我只需要粗略的草图。

2 个答案:

答案 0 :(得分:2)

创建自己的CustomApplication类并使其扩展Application,然后覆盖onCreate方法,在打开应用程序时调用此方法,然后在那里发送到服务器的会话的开始时间。然后覆盖onDestroy方法,该方法将在应用程序关闭时调用,并在那里将会话的结束时间发送到您的服务器。

使用ID将正确的开始时间与正确的结束时间相匹配。然后在您的服务器上,您可以轻松计算结束时间和开始时间之间的差异,以确定用户在您的应用上花费的时间。然后,您可以在一天内累计所有会话时间,并且您将获得用户在特定日期在您的应用上花费的总时间。

答案 1 :(得分:1)

我不知道Google的分析,但如果没有这个,你可以尝试使用基于onResume()和onPause()方法的系统。

实现BaseActivity,并将其与其他活动一起扩展。

public class BaseActivity extends Activity {

    private long start;

    @Override
    protected void onResume() {
        super.onResume();
        start = System.currentTimeMillis();
    }

    @Override
    protected void onPause() {
        super.onPause();
        long elapsedTime = System.currentTimeMillis() - start;
        saveSomewhere(elapsedTime); // some storing procedure
    }
}

每次Activity关注时,都会调用Resume,并获取开始时间。当活动失焦时,将调用onPause并计算elapsedTime。 然后,您需要决定如何使用和存储该时间。