identify method
Future<RawEvent?>
identify(
- IdentifyEvent event
)
override
Implementation
@override
Future<RawEvent?> identify(IdentifyEvent event) async {
if (event.userId != null) {
await FirebaseAnalytics.instance.setUserId(id: event.userId!);
}
if (event.traits != null) {
await Future.wait(event.traits!.toJson().entries.map((entry) async {
/// Firebase has a limit of 64 characters for user properties
if (entry.value.toString().length <= 64) {
await FirebaseAnalytics.instance
.setUserProperty(name: entry.key, value: entry.value.toString());
} else {
log(
'[FirebaseAnalytics Error: UserPropertyValueTooLong] User property "${entry.key}" exceeds the maximum length of 64 characters.',
kind: LogFilterKind.error,
);
}
}));
}
return event;
}