flutter_ui_interaction_recorder library
A comprehensive Flutter package for recording and analyzing user interactions within your app.
This package provides a complete solution for tracking user interactions including:
- Tap and long press events
- Text input events
- Scroll events
- Navigation events
- Custom events
Features
- Easy Integration: Simple widgets that wrap existing Flutter widgets
- Comprehensive Tracking: Track all major user interaction types
- JSON Export: Export recorded events to JSON format
- Privacy Protection: Built-in support for sensitive data handling
- Real-time Monitoring: Live overlay for controlling recording
- Flexible Configuration: Customizable recording options
Quick Start
import 'package:flutter_ui_interaction_recorder/flutter_ui_interaction_recorder.dart';
// Start recording
RecorderController.instance.start();
// Wrap your widgets with recorder widgets
RecorderGestureDetector(
widgetKey: "login_button",
onTap: () => print("Login tapped"),
child: ElevatedButton(child: Text("Login")),
)
// Export events
final json = RecorderController.instance.exportToJson();
Widgets
- RecorderGestureDetector: Track tap and long press events
- RecorderTextField: Track text input events
- RecorderScrollView: Track scroll events
- RecorderNavigatorObserver: Track navigation events
- RecorderOverlay: Floating control panel
Controller
- RecorderController: Main controller for managing recording
- RecorderConfig: Configuration options for the recorder
Models
- UIEvent: Represents a recorded user interaction event
- EventTypes: Predefined event type constants
Classes
- EventTypes
- Predefined event types for common interactions
- RecorderButton
- A specialized version of RecorderGestureDetector for buttons.
- RecorderConfig
- Configuration class for the recorder
- RecorderController
- Main controller for managing UI interaction recording. This is a singleton class that handles all recording operations.
- RecorderEmailField
- A specialized version for email fields.
- RecorderGestureDetector
- A GestureDetector wrapper that automatically records tap and long press events.
- RecorderIconButton
- A specialized version for IconButton with recording capabilities.
- RecorderListView
- A specialized version for ListView with recording capabilities.
- RecorderListViewBuilder
- A specialized version for ListView.builder with recording capabilities.
- A helper class for tracking navigation in a more granular way.
- A NavigatorObserver that automatically records navigation events.
- RecorderOverlay
- A floating overlay widget that provides controls for the UI Interaction Recorder.
- RecorderPasswordField
- A specialized version for password fields with enhanced security.
- RecorderScrollView
- A ScrollView wrapper that automatically records scroll events.
- RecorderSingleChildScrollView
- A specialized version for SingleChildScrollView with recording capabilities.
- RecorderTextField
- A TextField wrapper that automatically records text input events.
- UIEvent
- Represents a user interaction event recorded by the UI Interaction Recorder.
Enums
- OverlayPosition
- Available positions for the overlay
Mixins
- A mixin that can be added to any widget to automatically track navigation.