gpt4 book ai didi

android - 在运行时禁用/启用 Firebase Crashlytics

转载 作者:太空狗 更新时间:2023-10-29 14:40:14 25 4
gpt4 key购买 nike

随着 Google 发出一波又一波的关于需要让用户选择加入崩溃报告的警告 (source),我正在尝试为 Firebase Crashlytics 构建一个选择加入对话框。

为了能够做到这一点,我需要知道当前是否启用了 Crashlytics(以决定是否显示对话框)。似乎 CrashlyticsCore.disabled 负责跟踪这个,但我还没有找到任何方法来访问该值,因为它是包私有(private)的并且没有访问器。我如何在运行时知道是否启用了 Firebase Crashlytics?

我需要做的第二件事是默认禁用崩溃报告,并在用户同意选择加入时启用它。我如何怀疑能够做到这一点:

安卓 list :

<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />

Activity :

boolean userAgrees = true;
CrashlyticsCore core = new CrashlyticsCore.Builder().disabled(!userAgrees).build();
Fabric.with(this, new Crashlytics.Builder().core(core).build());

throw new RuntimeException("why doesn't this show up in Firebase Crashlytics?");

为什么我的 RuntimeException 没有出现在 Firebase Crashlytics 中?

附言在删除这些创建选择加入对话框的尝试时,Crashlytics 工作正常。

最佳答案

似乎切换 Crashlytics 只会在您的应用重新启动后生效。 Fabric 是一个单例,所有对其 Fabric.with 方法的调用都将在初始化后被忽略。

下面是源代码。

public static Fabric with(Context context, Kit... kits) {
if (singleton == null) {
Class var2 = Fabric.class;
synchronized(Fabric.class) {
if (singleton == null) {
setFabric((new Fabric.Builder(context)).kits(kits).build());
}
}
}

return singleton;
}

解决它的一种方法是使用 SharedPreferences 或其他持久存储方法自行跟踪值,并相应地更新您的 UI。

关于android - 在运行时禁用/启用 Firebase Crashlytics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49454823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com