From 3894ffa3c6a7e52ce4ea8e4524e723de8e0b408a Mon Sep 17 00:00:00 2001 From: Mo Mustafa Date: Thu, 20 Oct 2022 13:10:59 -0700 Subject: [PATCH] fix: Add email_subscire and push_subscribe attribute functionality and fix --- Sources/mParticle-Appboy/MPKitAppboy.m | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Sources/mParticle-Appboy/MPKitAppboy.m b/Sources/mParticle-Appboy/MPKitAppboy.m index 4fad1a3..4ca1b28 100644 --- a/Sources/mParticle-Appboy/MPKitAppboy.m +++ b/Sources/mParticle-Appboy/MPKitAppboy.m @@ -58,6 +58,8 @@ // User Attribute key with reserved functionality for Braze kit static NSString *const brazeUserAttributeDob = @"dob"; +static NSString *const brazeUserAttributeEmailSubscribe = @"email_subscribe"; +static NSString *const brazeUserAttributePushSubscribe = @"push_subscribe"; __weak static id inAppMessageControllerDelegate = nil; __weak static id urlDelegate = nil; @@ -659,6 +661,26 @@ - (MPKitExecStatus *)setUserAttribute:(NSString *)key value:(NSString *)value { appboyInstance.user.phone = value; } else if ([key isEqualToString:mParticleUserAttributeZip]){ [appboyInstance.user setCustomAttributeWithKey:@"Zip" andStringValue:value]; + } else if ([key isEqualToString:brazeUserAttributeEmailSubscribe]) { + if([value isEqualToString:@"opted_in"]) { + [appboyInstance.user setEmailNotificationSubscriptionType:ABKOptedIn]; + } else if ([value isEqualToString:@"unsubscribed"]) { + [appboyInstance.user setEmailNotificationSubscriptionType:ABKUnsubscribed]; + } else if ([value isEqualToString:@"subscribed"]) { + [appboyInstance.user setEmailNotificationSubscriptionType:ABKSubscribed]; + } else { + NSLog(@"mParticle -> Invalid email_subscribe value: %@", value); + } + } else if ([key isEqualToString:brazeUserAttributePushSubscribe]) { + if([value isEqualToString:@"opted_in"]) { + [appboyInstance.user setPushNotificationSubscriptionType:ABKOptedIn]; + } else if ([value isEqualToString:@"unsubscribed"]) { + [appboyInstance.user setPushNotificationSubscriptionType:ABKUnsubscribed]; + } else if ([value isEqualToString:@"subscribed"]) { + [appboyInstance.user setPushNotificationSubscriptionType:ABKSubscribed]; + } else { + NSLog(@"mParticle -> Invalid push_subscribe value: %@", value); + } } else { key = [self stripCharacter:@"$" fromString:key];