yx_tracking_flutter/example/lib/service/analytics_service.dart

53 lines
1.3 KiB
Dart

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