Skip to content

Commit 9feec21

Browse files
committed
feat(analytics, ios): add consent mode v2
1 parent 5458c36 commit 9feec21

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

packages/firebase_analytics/firebase_analytics/ios/Classes/FLTFirebaseAnalyticsPlugin.m

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
NSString *const kFLTFirebaseAnalyticsParameters = @"parameters";
1616
NSString *const kFLTFirebaseAnalyticsAdStorageConsentGranted = @"adStorageConsentGranted";
1717
NSString *const kFLTFirebaseAnalyticsStorageConsentGranted = @"analyticsStorageConsentGranted";
18+
NSString *const kFLTFirebaseAdPersonalizationConsentGranted = @"adPersonalizationConsentGranted";
19+
NSString *const kFLTFirebaseAdUserDataConsentGranted = @"adUserDataConsentGranted";
1820
NSString *const kFLTFirebaseAnalyticsUserId = @"userId";
1921

2022
NSString *const FLTFirebaseAnalyticsChannelName = @"plugins.flutter.io/firebase_analytics";
@@ -137,6 +139,9 @@ - (void)resetAnalyticsDataWithMethodCallResult:(FLTFirebaseMethodCallResult *)re
137139
- (void)setConsent:(id)arguments withMethodCallResult:(FLTFirebaseMethodCallResult *)result {
138140
NSNumber *adStorageGranted = arguments[kFLTFirebaseAnalyticsAdStorageConsentGranted];
139141
NSNumber *analyticsStorageGranted = arguments[kFLTFirebaseAnalyticsStorageConsentGranted];
142+
NSNumber *adPersonalizationGranted = arguments[kFLTFirebaseAdPersonalizationConsentGranted];
143+
NSNumber *adUserDataGranted = arguments[kFLTFirebaseAdUserDataConsentGranted];
144+
140145
NSMutableDictionary<FIRConsentType, FIRConsentStatus> *parameters =
141146
[[NSMutableDictionary alloc] init];
142147

@@ -149,6 +154,16 @@ - (void)setConsent:(id)arguments withMethodCallResult:(FLTFirebaseMethodCallResu
149154
[analyticsStorageGranted boolValue] ? FIRConsentStatusGranted : FIRConsentStatusDenied;
150155
}
151156

157+
if (adPersonalizationGranted != nil) {
158+
parameters[FIRConsentTypeAnalyticsStorage] =
159+
[adPersonalizationGranted boolValue] ? FIRConsentStatusGranted : FIRConsentStatusDenied;
160+
}
161+
162+
if (adUserDataGranted != nil) {
163+
parameters[FIRConsentTypeAnalyticsStorage] =
164+
[adUserDataGranted boolValue] ? FIRConsentStatusGranted : FIRConsentStatusDenied;
165+
}
166+
152167
[FIRAnalytics setConsent:parameters];
153168
result.success(nil);
154169
}

0 commit comments

Comments
 (0)