1

我有以下代码来跟踪应用程序首次在设备上启动的时间,但它与我从 Google Analytics 的新用户类别中获得的数据不匹配。任何人都可以在代码中看到任何不可靠的内容吗?例如,今天我看到此代码有 3 次安装,但我有 5 个新用户只能从 Google Play 下载此应用程序。

String INSTALL_SOURCE = "Google Play";
        TelephonyManager tm;
        tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
        String INSTALL_COUNTRY = tm.getSimCountryIso();
        prefs = getSharedPreferences("user_stats", MODE_PRIVATE);
        boolean firstTime = prefs.getBoolean("isFirstTime", true);
        if (firstTime) {
            rentracker.trackEvent("Install Source", INSTALL_SOURCE, INSTALL_COUNTRY, 1);
            Editor editor = prefs.edit();
            editor.putBoolean("isFirstTime", false);
            editor.commit();
        }
        Log.d(TAG, "Is this the first time?: " + firstTime);
        String android_id = Secure.getString(this.getContentResolver(),
                Secure.ANDROID_ID);
        rentracker.trackEvent("App Startup - " + INSTALL_SOURCE, INSTALL_COUNTRY, "ID: " + android_id,1);
4

1 回答 1

2

任何人都可以在代码中看到任何不可靠的内容吗?

  1. 正如一位评论者所建议的那样,仅仅因为此代码存在并不意味着它实际上已经运行,因为用户可能尚未启动您的活动。如果您认为此代码会以某种方式自动运行而无需用户参与,那么在 Android 3.1 及更高版本上可能并非如此。

  2. 据推测,rentracker应该是通过 Internet 进行通信,但并不是每个人都可以连续访问 Internet。因此,可能是您的代码已经运行,但您的后端尚未发现这一点,因为当时用户不在线。

  3. 您假设 Play 商店开发者控制台准确及时地报告下载。Play 商店开发者控制台并不是人类历史上最可靠的软件,因此您的比较数据完全有可能存在缺陷。

于 2012-12-22T22:39:55.763 回答