logEvent method
Future<void>
logEvent({
- required String name,
- Map<
String, Object?> ? parameters, - AnalyticsCallOptions? callOptions,
Logs a custom Flutter Analytics event with the given name
and event parameters
.
Implementation
Future<void> logEvent({
required String name,
Map<String, Object?>? parameters,
AnalyticsCallOptions? callOptions,
}) async {
if (_reservedEventNames.contains(name)) {
throw ArgumentError.value(
name,
'name',
'Event name is reserved and cannot be used',
);
}
const String kReservedPrefix = 'firebase_';
if (name.startsWith(kReservedPrefix)) {
throw ArgumentError.value(
name,
'name',
'Prefix "$kReservedPrefix" is reserved and cannot be used.',
);
}
if (parameters?['items'] is List<AnalyticsEventItem>) {
// ignore: cast_nullable_to_non_nullable
parameters!['items'] = (parameters['items'] as List<AnalyticsEventItem>)
.map((item) => item.asMap())
.toList();
}
await _delegate.logEvent(
name: name,
parameters: parameters,
callOptions: callOptions,
);
}