snaply 0.0.1-alpha.1
snaply: ^0.0.1-alpha.1 copied to clipboard
A Flutter plugin for instant bug reports with screenshots, screen recordings, device environment and logs.
Snaply #
A Flutter plugin for instant bug reports sharing with screenshots, screen recordings, attributes and logs.
Intended to be used by developers and QA engineers in builds for testing.
Features #
- 📸 Screenshot capture (with native views)
- 🎥 Screen recording (with native views)
- 📱 Device & System information collection
- 📝 Custom attributes support
- 📊 Event logging
- 🌐 Cross-platform support (iOS & Android)
Quick Start #
- Add to your
pubspec.yaml:
dependencies:
snaply: ^0.0.1-alpha.1
- Enable Snaply by adding the dart define flag locally or/and in CI:
--dart-define=SNAPLY_ENABLED=true
⚠️ IMPORTANT: Do not enable Snaply in builds you want to publish to Google Play! Google Play may reject your app due to screen recording permissions Snaply adds to your app.
- Simply wrap your App with SnaplyApp:
void main() {
const myApp = MyApp();
if (SnaplyReporter.isEnabled) {
SnaplyReporter.instance.setVisibility(true);
runApp(const SnaplyApp(child: myApp));
} else {
runApp(myApp);
}
}
How to use (examples) #
- Set visibility for Snaply controls
void showSnaplyReporter() {
SnaplyReporter.instance.setVisibility(true);
}
- Set custom attributes
void setSnaplyAttributes() {
SnaplyReporter.instance.setAttributes(
{
'app_version' : '0.0.1',
'locale': 'en_US',
},
);
}
- Add logs
void addSnaplyLog() {
SnaplyReporter.instance.log(message: 'Onboarding finished');
}
Platform Support #
| Platform | Support |
|---|---|
| Android | ✅ |
| iOS | ✅ |
Requirements #
- Flutter: >=3.0.0
- iOS: 11.0 or newer
- Android: API Level 23 or newer
Additional information #
License #
Apache License 2.0 - see LICENSE for details