在 Android 的开发模式下禁用 Firebase

Posted

技术标签:

【中文标题】在 Android 的开发模式下禁用 Firebase【英文标题】:Disable Firebase in development mode in Android 【发布时间】:2017-01-26 06:43:28 【问题描述】:

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

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

【问题讨论】:

据我所知,只有为开发和生产环境创建 2 个不同项目的选项 :(没有更好的办法? 更好的方法。但否则请参阅***.com/questions/37518212/… 【参考方案1】:

结帐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")
    

【讨论】:

【参考方案2】:

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

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

更多详情请查看https://firebase.google.com/support/guides/disable-analytics

【讨论】:

更好的是,向 Gradle 添加一个属性以自动处理它: resValue("bool", "FIREBASE_ANALYTICS_DEACTIVATED", "true") 就像这里为 Crashlytics 建议的那样:***.com/a/44452585/945247 如何重新启用?【参考方案3】:

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

【讨论】:

【参考方案4】:
    public class MyApp extends Application 
        public static boolean isDebuggable;

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

【讨论】:

以上是关于在 Android 的开发模式下禁用 Firebase的主要内容,如果未能解决你的问题,请参考以下文章

如何在调试模式下,在 react-native-firebase 中禁用 Crashlytics?

如何在生产模式下索引猫鼬字段,我为啥要禁用自动索引功能?

在 VueJS 中禁用“开发模式”警告

那些Android开发者必备的技能

从Android 9(API级别28)开始,默认情况下禁用明文支持。

Visual Studio 在调试模式下禁用 TRACE