我设置了一个助手类,通过 EasyTracker
向 Google Analytics
报告事件和屏幕,出于未知原因,每次我重新启动应用程序时,它都会报告所有作为新用户的屏幕和事件。我检查了存储唯一 ID 的 gaClientId
文件。但每次我重新启动该应用程序时,与其他应用程序相比,存储在该文件中的 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();
}
更新:
我已经尝试在没有简单跟踪器的情况下使用 GoogleAnalytics 类,但仍然无法正常工作。我猜想存在某种读取权限问题(但可以写入吗?),该文件位于 data/data/com。 my.app/files/gaClientId
更新:
我已经尝试过任何方法,我可以手动读取 gaClientId
文件,没有任何问题,使用和不使用 helper 类的报告都很累,每次启动应用程序时仍然会创建一个新的 ClientID。
最佳答案
猜猜是什么?存放ClientID的文件位于data/data/com.my.app/files/gaClientId
,app下载文件到此文件夹以及.. 每次启动该应用程序时,我都会运行该文件夹并删除其内容。因此,当分析被初始化时,它找不到 gaClientId 文件,并创建了一个新文件,该文件创建了一个新用户
提示 不要在文件
关于android - EasyTracker (GA) 应用程序的每次启动都报告为新用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15985559/