[firebase_analytics]: typing of event parameters to Map<String, Object>? is not working #12969
Closed
1 task done
Labels
Needs Attention
This issue needs maintainer attention.
resolution: invalid
This doesn't seem right and might not belong here.
type: bug
Something isn't working
Is there an existing issue for this?
Which plugins are affected?
Analytics
Which platforms are affected?
Android, iOS
Description
final parameters = <String, Object>{
'signup_fail_other': false,
'signup_fail_phone_existed': true,
};
_firebaseAnalytics.logEvent('signup_fail', parameters)
Expected:
log event success
Actually:
'package:firebase_analytics/src/firebase_analytics.dart': Failed assertion: line 1351 pos 9: 'value is String || value is num': 'string' OR 'number' must be set as the value of the parameter: signup_fail_other. false found instead
Reproducing the issue
Use description to the reproduce
Firebase Core version
3.1.0
Flutter Version
11.0.1
Relevant Log Output
Flutter dependencies
Dart SDK 3.3.3
Flutter SDK 3.19.5
dependencies:
dev dependencies:
dependency overrides:
transitive dependencies:
Additional context and comments
I see the logEvent() method of the firebase_analytics package:
`Future logEvent({
required String name,
Map<String, Object>? parameters,
AnalyticsCallOptions? callOptions,
}) async {
_logEventNameValidation(name);
}`
The problem is in the method:
_assertParameterTypesAreCorrect(parameters);
void _assertParameterTypesAreCorrect( Map<String, Object>? parameters, ) => parameters?.forEach((key, value) { assert( value is String || value is num, "'string' OR 'number' must be set as the value of the parameter: $key. $value found instead", ); });
Data type is Object, but 'assert' only accept String or num
The text was updated successfully, but these errors were encountered: