Skip to content

Commit 7c1fc43

Browse files
adjust parameter naming and add error handling
1 parent 38128f1 commit 7c1fc43

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

mParticle-Google-Analytics-Firebase/MPKitFirebaseAnalytics.m

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -375,22 +375,22 @@ - (void)updateConsent {
375375
NSNumber *adStorage = [self resolvedConsentForMappingKey:kMPFIRGAAdStorageKey
376376
defaultKey:kMPFIRGA4DefaultAdStorageKey
377377
gdprConsents:gdprConsents
378-
mappingsConfig:mappingsConfig];
378+
mapping:mappingsConfig];
379379

380380
NSNumber *adUserData = [self resolvedConsentForMappingKey:kMPFIRGAAdUserDataKey
381381
defaultKey:kMPFIRGA4DefaultAdUserDataKey
382382
gdprConsents:gdprConsents
383-
mappingsConfig:mappingsConfig];
383+
mapping:mappingsConfig];
384384

385385
NSNumber *analyticsStorage = [self resolvedConsentForMappingKey:kMPFIRGAAnalyticsStorageKey
386386
defaultKey:kMPFIRGA4DefaultAnalyticsStorageKey
387387
gdprConsents:gdprConsents
388-
mappingsConfig:mappingsConfig];
388+
mapping:mappingsConfig];
389389

390390
NSNumber *adPersonalization = [self resolvedConsentForMappingKey:kMPFIRGAAdPersonalizationKey
391391
defaultKey:kMPFIRGA4DefaultAdPersonalizationKey
392392
gdprConsents:gdprConsents
393-
mappingsConfig:mappingsConfig];
393+
mapping:mappingsConfig];
394394

395395
NSMutableDictionary *uploadDict = [NSMutableDictionary dictionary];
396396

@@ -637,7 +637,7 @@ - (void)updateInstanceIDIntegration {
637637
- (NSNumber * _Nullable)resolvedConsentForMappingKey:(NSString *)mappingKey
638638
defaultKey:(NSString *)defaultKey
639639
gdprConsents:(NSDictionary<NSString *, MPGDPRConsent *> *)gdprConsents
640-
mappingsConfig:(NSDictionary<NSString *, NSString*> *) mapping {
640+
mapping:(NSDictionary<NSString *, NSString*> *) mapping {
641641

642642
// Prefer mParticle Consent if available
643643
NSString *purpose = mapping[mappingKey];
@@ -660,11 +660,20 @@ - (NSNumber * _Nullable)resolvedConsentForMappingKey:(NSString *)mappingKey
660660

661661
- (NSArray<NSDictionary *>*)mappingForKey:(NSString*)key {
662662
NSString *mappingJson = _configuration[@"consentMappingSDK"];
663-
if ([mappingJson isKindOfClass:[NSString class]]) {
664-
NSData *jsonData = [mappingJson dataUsingEncoding:NSUTF8StringEncoding];
665-
return [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];
663+
if (![mappingJson isKindOfClass:[NSString class]]) {
664+
return nil;
666665
}
667-
return nil;
666+
667+
NSData *jsonData = [mappingJson dataUsingEncoding:NSUTF8StringEncoding];
668+
NSError *error;
669+
NSArray *result = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
670+
671+
if (error) {
672+
NSLog(@"Failed to parse consent mapping JSON: %@", error.localizedDescription);
673+
return nil;
674+
}
675+
676+
return result;
668677
}
669678

670679
- (NSDictionary*)convertToKeyValuePairs: (NSArray<NSDictionary *>*) mappings {

0 commit comments

Comments
 (0)