Snitcher: A Handy Tool for Managing App Crashes
Overview
Snitcher is a powerful tool designed to handle global crashes in mobile applications. It not only helps developers during the debugging process but also improves the user experience by offering recovery screens instead of letting the app close abruptly. The tool allows for easy global exception tracing and offers customizable launch behaviors that can be tailored to fit any project’s needs. Whether you're in the development phase or the app is live, Snitcher provides the flexibility to cater crash management to your specific requirements.
Key Features
-
Exception Tracing and Reporting:
- Snitcher is adept at capturing and managing app crashes. It integrates smoothly with services like Firebase Crashlytics to collect and report exceptions.
- Customize how you want to handle exceptions by providing a callback
exceptionHandler
, for logging, notifying, or any other action.
-
Custom Crash Screens:
- Provides pre-built exception tracing screens such as
ExceptionTraceActivity
, which can be extensively customized or replaced with your unique version. - You have the option to create tailored screens that align with different build configurations, like debug or release environments.
- Provides pre-built exception tracing screens such as
-
Flexible Installation:
- Installing Snitcher is straightforward. Incorporate it in your Android application’s
Application
class to ensure it initializes at the correct lifecycle phase. - The installation process can be adjusted to connect with different global exception strategies based on the build type.
- Installing Snitcher is straightforward. Incorporate it in your Android application’s
-
User-Friendly Recovery:
- Offers users the option to restore to the last point of activity upon a crash. This prevents loss of user progress and makes recovery from crashes seamless.
- You can customize which activity should launch after a crash, giving you control over user flow even under unexpected circumstances.
Getting Started
Installation
To start using Snitcher, add the following dependency to your build.gradle
file:
dependencies {
implementation "com.github.skydoves:snitcher:1.0.3"
}
Invoke Snitcher in your application by setting it up in your app's entry point, like so:
class App : Application() {
override fun onCreate() {
super.onCreate()
Snitcher.install(application = this)
}
}
Customization
- Custom Exception Screens: Modify attributes or create new ones to provide users with meaningful information after a crash.
- Custom Themes: Alter visual components or string resources to match your app’s theme.
Advanced Configurations
-
Custom Build Type Handling:
- Configure Snitcher to behave differently based on whether you're running a debug or release build. This flexibility helps developers catch more issues during testing before users encounter them.
-
Trace Strategies:
- Decide on different trace strategies to either replace the default behavior of launching a trace Activity or add complementary actions for specific crash scenarios.
Documentation
For comprehensive information, refer to Snitcher’s official documentation.
Conclusion
Snitcher offers a sophisticated yet user-friendly approach to managing app crashes and enhancing user experience. By integrating Snitcher, developers can ensure that their apps handle crashes gracefully, helping maintain user satisfaction and gather valuable crash data to improve app stability.