根据用户设置禁用Crashlytics / Answers

时间:2015-08-13 15:08:36

标签: android crashlytics twitter-fabric

我在我的应用中添加了一个新的偏好设置,允许用户选择退出分析报告。我在我的应用程序中使用Crashlytics和Answers by Fabric。

我在onCreate中有这个代码:

每次我想发送一个事件,我就这样做:

if (PreferenceHelper.getAllowAnalytics(context)) {
            Fabric.with(this, new Crashlytics());
        } else {
            //no crash or answers to be sent
        }
}

当用户允许时,这很有效。 当用户决定不允许分析时,我该如何处理Answers.getInstance().logCustom(new CustomEvent("test event"));

2 个答案:

答案 0 :(得分:2)

可以在不使用if / else:

的情况下执行此类操作
CrashlyticsCore core = new CrashlyticsCore.Builder().disabled(!PreferenceHelper.getAllowAnalytics(context)).build();
Fabric.with(this, new Crashlytics.Builder().core(core).build());

这样,如果你的getAllowAnalytics方法返回false,那么Fabric / Crashlytics将被禁用,否则它将被启用。

答案 1 :(得分:0)

您可以将所有调用的Answers.getInstance包装在一个检查您的首选项的新类中,如果没有启用则不执行任何操作? IE:而不是Answers.getInstance()。logCustom()WrappedAnswers.getInstance()。logCustom()。包装好的答案会在logCustom()

中进行if / else检查