RybbitFlutter class

The main entry point for the Rybbit Flutter SDK.

This class provides a singleton interface for tracking analytics events, pageviews, and user interactions in your Flutter application.

Example usage:

// Initialize the SDK
await RybbitFlutter.instance.initialize(RybbitConfig(
  siteId: 'your-site-id',
  // Only if your server requires one, and only a key scoped to
  // writing tracking data:
  // apiKey: 'your-api-key',
));

// Track a pageview
await RybbitFlutter.instance.trackPageView(pathname: '/home');

// Track a custom event
await RybbitFlutter.instance.trackEvent('button_clicked',
  properties: {'button_id': 'header_cta'});

// Track an error
await RybbitFlutter.instance.trackError('NetworkError', 'Failed to load data',
  stackTrace: stackTrace.toString(), fileName: 'api_service.dart');

// Identify a user with traits
await RybbitFlutter.instance.identify('user-123',
  traits: {'name': 'John', 'plan': 'pro'});
Mixed-in types

Properties

hashCode int
The hash code for this object.
no setterinherited
isInitialized bool
Returns true if the SDK has been initialized.
no setter
routeObserver RouteObserver<PageRoute>
Gets a route observer for automatic screen tracking.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
userId String?
Gets the currently associated user ID, if any.
no setter

Methods

clearUserId() → void
Clears the current user ID association.
didChangeAccessibilityFeatures() → void
Called when the system changes the set of currently active accessibility features.
inherited
didChangeAppLifecycleState(AppLifecycleState state) → void
Called when the system puts the app in the background or returns the app to the foreground.
override
didChangeLocales(List<Locale>? locales) → void
Called when the system tells the app that the user's locale has changed. For example, if the user changes the system language settings.
inherited
didChangeMetrics() → void
Called when the application's dimensions change. For example, when a phone is rotated.
inherited
didChangePlatformBrightness() → void
Called when the platform brightness changes.
inherited
didChangeTextScaleFactor() → void
Called when the platform's text scale factor changes.
inherited
didChangeViewFocus(ViewFocusEvent event) → void
Called whenever the PlatformDispatcher receives a notification that the focus state on a view has changed.
inherited
didHaveMemoryPressure() → void
Called when the system is running low on memory.
inherited
didPopRoute() Future<bool>
Called when the system tells the app to pop the current route, such as after a system back button press or back gesture.
inherited
didPushRoute(String route) Future<bool>
Called when the host tells the application to push a new route onto the navigator.
inherited
didPushRouteInformation(RouteInformation routeInformation) Future<bool>
Called when the host tells the application to push a new RouteInformation and a restoration state onto the router.
inherited
didRequestAppExit() Future<AppExitResponse>
Called when a request is received from the system to exit the application.
inherited
dispose() → void
Disposes of the SDK and cleans up resources.
handleCancelBackGesture() → void
Called when a predictive back gesture is canceled, indicating that no navigation should occur.
inherited
handleCommitBackGesture() → void
Called when a predictive back gesture is finished successfully, indicating that the current route should be popped.
inherited
handleStartBackGesture(PredictiveBackEvent backEvent) bool
Called at the start of a predictive back gesture.
inherited
handleStatusBarTap() → void
Called when the user taps the status bar on iOS, to scroll a scroll view to the top.
inherited
handleUpdateBackGestureProgress(PredictiveBackEvent backEvent) → void
Called when a predictive back gesture moves.
inherited
identify(String userId, {Map<String, dynamic>? traits}) Future<void>
Associates a user ID with future tracking events and sends an identify call to the Rybbit server.
initialize(RybbitConfig config) Future<void>
Initializes the Rybbit SDK with the provided configuration.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setTraits(Map<String, dynamic> traits) Future<void>
Updates the traits (custom properties) for the current identified user without creating a new alias.
toString() String
A string representation of this object.
inherited
trackError(String errorName, String message, {String? stackTrace, String? fileName, int? lineNumber, int? columnNumber, String? pathname, String? pageTitle}) Future<void>
Tracks an error event with context and stack trace.
trackEvent(String eventName, {Map<String, dynamic>? properties, String? pathname, String? pageTitle}) Future<void>
Tracks a custom event.
Tracks an outbound link click.
trackPageView({required String pathname, String? pageTitle, String? referrer, Map<String, String>? queryParams}) Future<void>
Tracks a pageview event.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

instance RybbitFlutter
Gets the singleton instance of RybbitFlutter.
no setter