根据用户设置禁用 Crashlytics/Answers
Disable Crashlytics/Answers based on user setting
我正在我的应用程序中添加一个新的首选项,以允许用户选择退出分析报告。我在我的应用程序 Crashlytics 和 Fabric Answers 中使用。
我在 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
?
可以在不使用 if/else 的情况下做这样的事情:
CrashlyticsCore core = new CrashlyticsCore.Builder().disabled(!PreferenceHelper.getAllowAnalytics(context)).build();
Fabric.with(this, new Crashlytics.Builder().core(core).build());
这样,如果您的 getAllowAnalytics 方法 returns 为 false,则 Fabric/Crashlytics 将被禁用,否则将被启用。
您可以将对 Answers.getInstance 的所有调用包装在一个新的 class 中,该 class 会检查您的偏好,如果未启用则什么也不做?即:而不是 Answers.getInstance().logCustom() 包装Answers.getInstance().logCustom()。包装好的答案会在 logCustom()
中进行 if/else 检查
我正在我的应用程序中添加一个新的首选项,以允许用户选择退出分析报告。我在我的应用程序 Crashlytics 和 Fabric Answers 中使用。
我在 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
?
可以在不使用 if/else 的情况下做这样的事情:
CrashlyticsCore core = new CrashlyticsCore.Builder().disabled(!PreferenceHelper.getAllowAnalytics(context)).build();
Fabric.with(this, new Crashlytics.Builder().core(core).build());
这样,如果您的 getAllowAnalytics 方法 returns 为 false,则 Fabric/Crashlytics 将被禁用,否则将被启用。
您可以将对 Answers.getInstance 的所有调用包装在一个新的 class 中,该 class 会检查您的偏好,如果未启用则什么也不做?即:而不是 Answers.getInstance().logCustom() 包装Answers.getInstance().logCustom()。包装好的答案会在 logCustom()
中进行 if/else 检查