How To Disable Crashlytics Answers?
Disabling Crashlytics error reporting is relatively straight forward.. I'd also like to disable Answers for debug builds. However, new Crashlytics.Builder().answers(null); doesn'
Solution 1:
on my app we do it the old fashioned way:
if (!IS_DEBUG) {
Fabric.with(this, new Crashlytics());
}
works fine.
Of course you can initialise with whichever custom parameters you need.
edit:
to get the debug boolean is just a matter of using gradle to your favour:
src/
main/ // your app code
debug/
AppSettings.Java:
publicstaticfinalbooleanIS_DEBUG=true;
release/
AppSettings.Java:
publicstaticfinalbooleanIS_DEBUG=false;
edit:
I would advise against using BuildConfig.DEBUG, see this article: http://www.digipom.com/be-careful-with-buildconfig-debug/
Solution 2:
For the time being, I solved the problem the old Java way:
Extend Answers
using a sort-of singleton:
Baca Juga
- Fatal Signal 11 (sigsegv), Code 1, Fault Addr 0x48 In Tid 21741 (renderthread) In Android In Rear Case In Some Device
- I Cannot View Crash Detail Of Firebase Crashlytics For Android And Got Stuck On "build And Run Your App"
- Fabric/crashlytics On Android - How To Have Two Different Crashlytics Projects With The Same Package Name?
publicclassCustomAnswersextendsAnswers {
privatestatic CustomAnswers instance;
privateboolean mEnabled;
privateCustomAnswers(boolean enabled) {
super();
mEnabled = enabled;
}
publicstaticsynchronizedvoidinit(boolean enabled) {
if (instance == null) {
instance = newCustomAnswers(enabled);
}
}
publicstaticsynchronized CustomAnswers get() {
return instance;
}
@OverridepublicvoidlogSignUp(SignUpEvent event) {
if (mEnabled) {
super.logSignUp(event);
}
}
// (...)
}
Initialize Crashlytics with Answers implementation:
boolean isDebug = DebugHelper.isDebugVersion(this);
CustomAnswers.init(!isDebug);
CrashlyticsCore crashlyticsCore =
new CrashlyticsCore.Builder().disabled(isDebug).build();
Fabric.with(this, new Crashlytics.Builder()
.core(crashlyticsCore).answers(CustomAnswers.get()).build());
Use Answers implementation for events:
CustomAnswers.get().logInvite(new InviteEvent());
This will disable events being logged.
Note that, as described in my first post, Answers.getInstance()
will return null and not your CustomAnswers
instance in that case.
Solution 3:
Try this code
CrashlyticsCore core = new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build();
Fabric.with(this, new Crashlytics.Builder().core(core).build());
or
Fabric.with(this, new Crashlytics.Builder().core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()).build());
Post a Comment for "How To Disable Crashlytics Answers?"