trackAnalyticsEvent<T> method
Auto-log analytics when your tracking callback is hit.
Use this to wrap SDK calls so the event is logged whether sync or async.
Implementation
Future<T> trackAnalyticsEvent<T>({
required String tool,
required String eventName,
Map<String, dynamic>? payload,
required FutureOr<T> Function() onTrack,
int statusCode = 200,
}) async {
final result = await Future.sync(onTrack);
logAnalyticsEvent(
tool: tool,
eventName: eventName,
payload: payload,
statusCode: statusCode,
);
return result;
}