如何在调试模式下,在 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。我想在开发模式下禁用崩溃日志。如何在调试模式下为 androidios 应用程序禁用崩溃日志。要创建崩溃日志,我已按照 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 代码中初始化 crashlytics
firebase.crashlytics().enableCrashlyticsCollection();

然后你可以使用

if (__DEV__) 

 else 


在开发或生产中运行任何特定代码。

【讨论】:

我已经导入了 firebase ,并在应用程序在调试模式下运行时初始化了 crashlytics,但它显示了一个错误 :: _reactNativeFirebase.default.crashlytics(...).enableCrashlyticsCollection is not a function 您是否将值添加到您的Info.plistAndroidManifest.xml?因为我在设置中执行此操作时没有收到该错误。 我正在开发 Android 并在 AndroidManifest.xml 文件中添加了代码 &lt;meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" /&gt; 我需要在我的 react js 文件中导入除 firebase 之外的任何其他内容吗?? 我所做的只是import firebase from 'react-native-firebase'; 然后调用if(__DEV__) firebase.crashlytics().enableCrashlyticsCollection(); 显然对AndroidManifest.xmlInfo.plist 进行了编辑。我唯一能想到的是你没有把meta-data放在你AndroidManifest.xml的正确位置【参考方案2】:

我只需要在firebase.json文件中设置一行,


    "react-native": 
        "crashlytics_debug_enabled": false
    

【讨论】:

以上是关于如何在调试模式下,在 react-native-firebase 中禁用 Crashlytics?的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止 Flask 在调试模式下初始化两次? [复制]

尝试在 create-react-native-app 项目 (expo) 中使用 react-native-fs

Dart:如何在调试和生产模式下使用不同的设置?

这个程序如何在调试模式下运行? [关闭]

如何使用 Android Studio 在发布模式下调试 Android App

如何确定是不是启用了“调试模式”