Android - 在设备上首次启动应用时进行跟踪

时间:2012-12-12 04:45:50

标签: android google-analytics

我有以下代码来跟踪设备首次启动应用的时间,  但是,它与我在新用户类别中从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);

1 个答案:

答案 0 :(得分:2)

  

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

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

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

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