我设置了一个助手类,它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();
}
更新:
我尝试使用没有简易跟踪器的 GoogleAnalytics 类,但仍然无法正常工作。我猜可能存在某种读取权限问题(但可以写入吗?),文件位于data/data/com.my.app/files/gaClientId
更新:
我已经尝试过任何方法,我可以gaClientId
手动读取文件,没有任何问题,无论有没有帮助类,报告都累了,每次启动应用程序时仍然会创建一个新的 ClientID。