EasyTracker(GA)每次推出的应用程序均报告为新用户

Kir*_*kov 5 android google-analytics easytracker

我设置了一个帮助类Google Analytics,通过EasyTracker每次重新启动应用程序时的事件和屏幕报告事件和屏幕,它将所有屏幕和事件报告为新用户.我检查了gaClientId存储唯一ID 的文件.但每次重新启动应用程序时,与其他保持相同的应用程序相比,存储在此文件中的ID会发生变化.

这是我在我的帮助器类中使用的代码,请注意我也尝试过使用ApplicationContext上下文.我试过禁用即时调度(是的,我知道它不是很好的做法,立即报告)

private static String mLastView = "";

public static void sendView(String view,Context ctx) {

    // Don't report screen twice in a row
    if(view.equals(mLastView)) return;

    mLastView = view;

    EasyTracker.getInstance().setContext(ctx);
    EasyTracker.getTracker().sendView(view);
    EasyTracker.getInstance().dispatch();
}

public static void sendEvent(Context ctx,String category,String action,String label,long value){

    EasyTracker.getInstance().setContext(ctx);
    EasyTracker.getTracker().sendEvent(category, action, label, value);
    EasyTracker.getInstance().dispatch();
}
Run Code Online (Sandbox Code Playgroud)

更新: 我尝试使用没有简单跟踪器的GoogleAnalytics类,但仍然无法正常工作.我猜有某种读取权限问题(但是可以写吗?),该文件位于data/data/com.my.app/files/gaClientId

更新: 我已经尝试了任何东西,我可以gaClientId手动读取文件,没有任何问题,厌倦报告有和没有助手类,仍然创建一个新的ClientID每次启动的应用程序.

Kir*_*kov 4

你猜怎么了?存储位于 的 ClientID 的文件data/data/com.my.app/files/gaClientId以及应用程序下载文件到此文件夹。每次启动应用程序时,我都会遍历该文件夹并删除其内容。因此,当分析初始化时,它找不到gaClientId 文件,并创建了一个新文件,该文件创建了一个新用户

提示不要在根目录中存储任何内容files