Noibu Flutter SDK
Session replay SDK for Flutter. Captures user sessions and replays them in the Noibu dashboard for debugging.
Installation
Add to your pubspec.yaml:
dependencies:
noibu_flutter: ^0.1.0
Android
Set minSdkVersion to 26 or higher in android/app/build.gradle:
android {
defaultConfig {
minSdkVersion 26
}
}
iOS
Set the platform to iOS 16.0 or higher in your Podfile:
platform :ios, '16.0'
Usage
Initialize
import 'package:noibu_flutter/noibu_flutter.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await NoibuSessionReplay.instance.initialize(
const NoibuConfiguration(domain: 'your-domain.noibu.com'),
);
runApp(NoibuSessionReplay.instance.wrapWithCapture(child: MyApp()));
}
Navigation tracking
Add the navigation observer to your MaterialApp:
MaterialApp(
navigatorObservers: [
NoibuSessionReplay.instance.navigationObserver,
],
// ...
)
Or notify navigation manually:
await NoibuSessionReplay.instance.didNavigate(pageName: 'ProductDetail');
Custom attributes
Attach metadata to the current session:
await NoibuSessionReplay.instance.addCustomAttribute('userId', '12345');
Error reporting
Report errors to the Noibu dashboard:
await NoibuSessionReplay.instance.addError(
'Payment failed',
stack: StackTrace.current.toString(),
);
Privacy
Control what gets captured:
await NoibuSessionReplay.instance.initialize(
const NoibuConfiguration(
domain: 'your-domain.noibu.com',
privacyMode: NoibuPrivacyMode.maskAll, // maskAll, maskSensitive, allowAll
),
);
Shutdown
await NoibuSessionReplay.instance.shutdown();
Requirements
| Platform | Minimum version |
|---|---|
| Android | API 26 (Android 8.0) |
| iOS | 16.0 |
| Flutter | 3.27.0 |
| Dart | 3.6.0 |
License
MIT License. See LICENSE for details.