2016-06-10 65 views
3

我试图跟踪用户在一天内花费在我的应用程序上的时间,并将此数据发送到我的服务器。我想知道的是谷歌分析可以为我做这项工作,我搜索关于这一点,我来了解谷歌分析可以测量屏幕视图允许您查看哪些内容正在被用户查看最多,以及他们如何在不同的内容之间浏览。 我想要谷歌分析做会话跟踪?(我还没有找到这个)。 如果谷歌解析不做这项工作,你可以建议我,我是如何手动做的,我只需要一个粗略的草图。在Android应用程序中跟踪用户会话

+1

我知道发送部分(我可以通过服务使用它),只是想知道我如何跟踪我的应用程序。 –

回答

1

创建自己的CustomApplication类,并使其延长Application,然后重写onCreate方法,当你的应用程序中打开此方法将被调用,并在那里,你可以在会议开始时间发送到服务器。然后覆盖onDestroy方法,该方法将在应用程序关闭时调用,并在那里将会话的结束时间发送到您的服务器。

使用ID将正确的开始时间与正确的结束时间相匹配。然后在您的服务器上,您可以轻松调整结束时间和开始时间之间的差异,以确定用户在您的应用上花费的时间。然后,您可以将一天中的所有会话时间加起来,这样您就可以在特定的一天中获得用户在您的应用上花费的总时间。

1

我不知道谷歌的分析,但没有你可以尝试使用基于onResume()和onPause()方法的Activity。

以这种方式实现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。 你只需要决定如何使用和存储那个时间。