我在我的应用程序上增加了一个新的偏好,允许用户选择退出分析报告。我正在我的应用程序中使用Crashlytics和织物的答案。
我在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"));这在用户允许的情况下运行良好。当用户决定不允许进行分析时,我应该如何处理else?
发布于 2015-09-09 14:07:11
您可以将对Answers.getInstance的所有调用包装在一个新的类中,这个类检查您的偏好,如果不启用它,什么都不做?IE:而不是Answers.getInstance(),.logCustom(),WrappedAnswers.getInstance().logCustom()。包装的答案将执行if/ And签入logCustom()
发布于 2015-08-13 19:14:31
可以在不使用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将被禁用,否则将被启用。
https://stackoverflow.com/questions/31992076
复制相似问题