android - EasyTracker (GA) 应用程序的每次启动都报告为新用户

标签 android google-analytics easytracker

我设置了一个助手类,通过 EasyTrackerGoogle 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/

相关文章:

android - Firebase GoogleSignInResult 总是返回 false

android - 从横向旋转到纵向时,Phonegap/HTML5 和 Android 屏幕调整大小问题

javascript - 谷歌分析和_trackEvent : Events not logging to Analytics

google-analytics - 从谷歌分析 PHP 接口(interface) (gapi) 获取唯一访客

Android EasyTracker 类不包含方法 getTracker()

java - Google Analytics v4,未找到广告系列

android - Kotlin 中硬关键字和软关键字的区别

android - Google Play 仅在订阅列表中显示应用名称

Jupyter笔记本中的python3安装模块apiclient错误