9

私の質問は非常に簡単です。アプリケーションがデバッグ証明書で署名されているときに、Google アナリティクスを自動的に無効にする方法はありますか? リリース バージョンでのみアクティブにする必要があることを意味します。前もって感謝します。

4

3 に答える 3

12

ADT 17 以降を使用している場合は、 BuildConfig クラスを利用できます。

if(BuildConfig.DEBUG) {
    GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext());
    googleAnalytics.setAppOptOut(true);
}

BuildConfigクラスはそのまま自動生成されますR.java。これには、デフォルトで に設定されているブール値と、apk をエクスポートするときに にDEBUG設定されるブール値のみが含まれます。truefalse

于 2012-12-21T12:47:28.410 に答える
2

簡単にアクティブにならないように設定できます。

if (...) {
  GoogleAnalytics ga= GoogleAnalytics.getInstance(getApplicationContext());
  ga.setAppOptOut(true);
}

私は通常、テストに使用されるいくつかの既知のデバイスのハードウェア シリアル番号を確認します。

if (Arrays.asList("x", "y").contains(getHardwareSerial()))

どこgetHardwareSerial()にある:

public static String getHardwareSerial() {
        try {
            Field serialField = Build.class.getDeclaredField("SERIAL");
            return (String) serialField.get(null);
        } catch (NoSuchFieldException nsf) {
        } catch (IllegalAccessException ia) {
        }
        return Build.UNKNOWN;
    }
于 2012-12-21T12:45:16.783 に答える
1

Google アナリティクスの最新バージョンでは、次のコードを使用する必要があります。

if(BuildConfig.DEBUG){
    GoogleAnalytics.getInstance(this).setDryRun(true);
}
于 2015-01-25T13:18:55.137 に答える