繁体   English   中英

在 Android 的开发模式下禁用 Firebase

[英]Disable Firebase in development mode in Android

我在我的 android 项目中使用 Firebase。 想知道如何在开发模式下禁用它。 所有崩溃和使用/事件都被记录下来,并与实际分析相混淆。

在开发模式下禁用它有什么更好的方法吗?

结帐https://firebase.google.com/docs/analytics/configure-data-collection?platform=android

<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />

为此,自动将以下行添加到清单中:

 <meta-data
        android:name="firebase_analytics_collection_deactivated"
        android:value="@bool/FIREBASE_ANALYTICS_DEACTIVATED"/>

在 app/build.gradle 中为调试和发布设置不同的布尔值

buildTypes {
    debug {
        resValue("bool", "FIREBASE_ANALYTICS_DEACTIVATED", "true")
    }
    release {
        resValue("bool", "FIREBASE_ANALYTICS_DEACTIVATED", "false")
    }
}

在开发时将此行添加到您的清单文件中。

<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />

有关更多详细信息,请查看https://firebase.google.com/support/guides/disable-analytics

最好将您的开发和生产环境分开,而不是完全禁用。 您可以选择如何实现这一点,因此您可以选择最适合您的团队的方式。 这篇博文详细介绍了您的选择: https : //firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html

    public class MyApp extends Application {
        public static boolean isDebuggable;

        public void onCreate() {
            super.onCreate();
            isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));
            FirebaseCrash.setCrashCollectionEnabled(!isDebuggable);
        }
    }

由于 Google Play Services / Firebase 11+,我们可以在运行时以编程方式禁用 Firebase Crashlytics。

FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false);

要在调试版本中禁用 Firebase Crashlytics:

FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(!BuildConfig.DEBUG);

或为了更好的可读性:

if(BuildConfig.DEBUG) {
    FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM