initialize method

Future<void> initialize()

Implementation

Future<void> initialize() async {
  WidgetsFlutterBinding.ensureInitialized();

  // Guard against double registration (e.g. SDK init retry after failure).
  // Without this, duplicate observers cause duplicate lifecycle events.
  if (!_isInitialized) {
    WidgetsBinding.instance.addObserver(this);
    _isInitialized = true;
  }

  _focusStart = DateTime.now();
  _isInFocus = true;

  // Start a new session on app launch — awaited so session_start
  // is fully processed before first_open code runs.
  await SessionHelper.startSession();
}