initialize method
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();
}