12

Android アプリで EasyTracker を使用していますが、アプリが「開発」または「テスト」モードのときに Analytics の追跡を無効にする方法が必要です (定数ファイルに識別用のフラグがあります)。

そうするための最良の方法は何ですか?

ありがとう!

4

8 に答える 8

17

バージョン 4 の Analytics でこれを行う正しい方法は、Opt Out メソッドを使用することだと思います

GoogleAnalytics.getInstance(this).setAppOptOut(true);

デバッグモードでビルドする場合、そのメソッドを設定することができます。すなわち。

GoogleAnalytics.getInstance(this).setAppOptOut(BuildConfig.DEBUG);

ユーザーが分析をオプトアウトできるようにするために、同様のものを使用しています。

次のリンクでこの情報を見つけました: https://developers.google.com/analytics/devguides/collection/android/v4/advanced

編集:元の質問の日付を見ただけですが、探していたものだったので、とにかくこの回答を追加すると思いました。

于 2014-10-22T06:04:55.720 に答える
5

If you are building a standalone app(not a library), this will be the easiest way to do it, let the build system figure out if it is a debug build or not.

if(BuildConfig.DEBUG){
    GoogleAnalytics.getInstance(this).setDryRun(true);
}

I see on the web that this method does not work well for library projects as there is bug in the build tools which does not set the BuildConfig.DEBUG flag correctly for libraries. Not sure if this issue is fixed now.

于 2015-01-25T13:16:31.003 に答える
3

静的ブール値を持つクラスを使用できます。たとえば、次のように DEBUG とします。

public final class BuildMode {
        public final static boolean DEBUG = true;
}

コードでは、次を使用します。

if (BuildMode.DEBUG) ...

これは、すべての Android SDK バージョンで機能するソリューションです!

于 2012-09-07T08:30:41.107 に答える
1

私が行っているのは、analytics.xmlで負の期間を設定することにより、定期的なディスパッチを無効にすることです。

<integer name="ga_dispatchPeriod">-60</integer>

または、フラグを使用してプログラムで実行できます。

if (testingMode) {
    GAServiceManager.getInstance().setDispatchPeriod(-1);
} else {
    GAServiceManager.getInstance().setDispatchPeriod(60);
}

そうすれば、手動で行わない限り、ヒットは送信されません。

定期的なディスパッチのみを使用している場合(.dispatch()手動で呼び出すことはありません)、これは機能するはずです。翌日の午前4時までに送信されなかったヒットは、とにかくレポートに表示されないため、どういうわけか破棄されます。

GoogleAnalytics開発者ガイドを参照してください。

注:データは、各プロファイルのローカルタイムゾーンで、翌日の午前4時までにディスパッチおよび受信する必要があります。それ以降に受信したデータはレポートに表示されません。

詳細:https ://developers.google.com/analytics/devguides/collection/android/v2/dispatch

于 2012-12-04T13:39:31.647 に答える
1

私のテクニックは、android:versionNameリリース時まで Android マニフェストを変更することです。

たとえば1.0.0.ALPHA、リリース APK をビルドするまで、その時点で に変更できます1.0.0。このようにして、後ですべてのクラッシュ レポートを引き続き表示できますが、それらは分析でグループ化されます。

この SO チケットBuildConfig.DEBUGでは、フラグを使用して分析を条件付きで構成し、 のフラグを参照Atul Goyal'sして回答する方法について説明しています。将来のデバッグ中にクラッシュ レポートを表示することを気にせず、フラグが正しく機能すると仮定する場合、これら 2 つのことは適切な設定になる可能性があります。dryRunv3BuildConfig.DEBUG

于 2014-01-14T19:41:06.517 に答える