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

Controller

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.
RecorderNavigationTracker
A helper class for tracking navigation in a more granular way.
RecorderNavigatorObserver
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

RecorderNavigationMixin<T extends StatefulWidget>
A mixin that can be added to any widget to automatically track navigation.