import 'dart:async'; import 'package:yx_tracking_flutter/yx_tracking_flutter.dart'; class AnalyticsService { const AnalyticsService(); Future init(AnalyticsConfig config) => Analytics.init(config); Future dispose() => Analytics.dispose(); Future flush({bool force = false}) => Analytics.flush(force: force); Future refreshConfig({bool force = true}) => Analytics.refreshConfig(force: force); Future cachedEventCount() => Analytics.cachedEventCount(); Future> cachedRecentEvents({int limit = 20}) => Analytics.cachedRecentEvents(limit: limit); void setDebug({required bool enabled}) => Analytics.setDebug(enabled: enabled); Map requiredParams({ required String page, required String url, required String buttonId, Map? extra, }) { final params = { 'Page': page, 'Url': url, 'ButtonId': buttonId, }; if (extra != null && extra.isNotEmpty) { params.addAll(extra); } return params; } Future track( String eventType, { Map? eventParams, Map? customTags, }) { return Analytics.track( eventType, eventParams: eventParams, customTags: customTags, ); } }