我有以下代码来跟踪设备首次启动应用的时间, 但是,它与我在新用户类别中从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);
答案 0 :(得分:2)
任何人都可以在代码中看到任何可能不可靠的内容吗?
正如一位评论者建议的那样,仅仅因为此代码存在并不意味着它实际上已经运行,因为用户可能尚未启动您的活动。如果您认为此代码会以某种方式在没有用户参与的情况下自动运行,那么Android 3.1及更高版本可能就不是这样了。
据推测,rentracker
应该通过互联网进行通信,但不是每个人都可以持续访问互联网。因此,可能是您的代码已经运行,但您的后端尚未发现这一点,因为当时用户不在线。
您假设Play商店开发者控制台准确且及时地报告下载。 Play商店开发者控制台并不是人类历史上最可靠的软件,因此您的比较数据完全有可能存在缺陷。