如何在调试模式下,在 react-native-firebase 中禁用 Crashlytics?
Posted
技术标签:
【中文标题】如何在调试模式下,在 react-native-firebase 中禁用 Crashlytics?【英文标题】:How to disable Crashlytics while in debug mode, in react-native-firebase? 【发布时间】:2019-07-14 05:33:27 【问题描述】:我已在 react 本机应用程序上集成了 firebase Crashlytics。我想在开发模式下禁用崩溃日志。如何在调试模式下为 android 和 ios 应用程序禁用崩溃日志。要创建崩溃日志,我已按照 react native firebase 文档检查此官方链接 :: https://rnfirebase.io/docs/v5.x.x/crashlytics/android
我正在使用 react-native-firebase 5.2.2 版
我想在调试模式下禁用日志而不更改版本。我想添加代码来禁用 Android 和 Ios 的崩溃日志。请建议如何做到这一点。
【问题讨论】:
【参考方案1】:documentation 解释了如何禁用它
iOS
使用Info.plist
文件的新密钥关闭自动收集:
密钥:firebase_crashlytics_collection_enabled
值:false
<key>firebase_crashlytics_collection_enabled</key>
<false/>
安卓
在AndroidManifest.xml
文件中使用元数据标签关闭自动收集:
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
在运行时启用收集
您可以使用
在您的 javascript 代码中初始化 crashlyticsfirebase.crashlytics().enableCrashlyticsCollection();
然后你可以使用
if (__DEV__)
else
在开发或生产中运行任何特定代码。
【讨论】:
我已经导入了 firebase ,并在应用程序在调试模式下运行时初始化了 crashlytics,但它显示了一个错误 ::_reactNativeFirebase.default.crashlytics(...).enableCrashlyticsCollection is not a function
您是否将值添加到您的Info.plist
和AndroidManifest.xml
?因为我在设置中执行此操作时没有收到该错误。
我正在开发 Android 并在 AndroidManifest.xml 文件中添加了代码 <meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />
我需要在我的 react js 文件中导入除 firebase 之外的任何其他内容吗??
我所做的只是import firebase from 'react-native-firebase';
然后调用if(__DEV__) firebase.crashlytics().enableCrashlyticsCollection();
显然对AndroidManifest.xml
和Info.plist
进行了编辑。我唯一能想到的是你没有把meta-data
放在你AndroidManifest.xml
的正确位置【参考方案2】:
我只需要在firebase.json文件中设置一行,
"react-native":
"crashlytics_debug_enabled": false
【讨论】:
以上是关于如何在调试模式下,在 react-native-firebase 中禁用 Crashlytics?的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 create-react-native-app 项目 (expo) 中使用 react-native-fs