在 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?