diff --git a/iOS_SDK/OneSignalSDK/Source/OneSignal.h b/iOS_SDK/OneSignalSDK/Source/OneSignal.h index 39682babd..cf807ce33 100755 --- a/iOS_SDK/OneSignalSDK/Source/OneSignal.h +++ b/iOS_SDK/OneSignalSDK/Source/OneSignal.h @@ -585,13 +585,16 @@ typedef void (^OSEmailSuccessBlock)(); // External user id // Typedefs defining completion blocks for updating the external user id +typedef void (^OSUpdateExternalUserIdBlock)(NSDictionary* results); typedef void (^OSUpdateExternalUserIdFailureBlock)(NSError *error); typedef void (^OSUpdateExternalUserIdSuccessBlock)(NSDictionary *results); + (void)setExternalUserId:(NSString * _Nonnull)externalId; ++ (void)setExternalUserId:(NSString * _Nonnull)externalId withCompletion:(OSUpdateExternalUserIdBlock _Nullable)completionBlock; + (void)setExternalUserId:(NSString * _Nonnull)externalId withSuccess:(OSUpdateExternalUserIdSuccessBlock _Nullable)successBlock withFailure:(OSUpdateExternalUserIdFailureBlock _Nullable)failureBlock; + (void)setExternalUserId:(NSString *)externalId withExternalIdAuthHashToken:(NSString *)hashToken withSuccess:(OSUpdateExternalUserIdSuccessBlock _Nullable)successBlock withFailure:(OSUpdateExternalUserIdFailureBlock _Nullable)failureBlock; + (void)removeExternalUserId; ++ (void)removeExternalUserId:(OSUpdateExternalUserIdBlock _Nullable)completionBlock; + (void)removeExternalUserId:(OSUpdateExternalUserIdSuccessBlock _Nullable)successBlock withFailure:(OSUpdateExternalUserIdFailureBlock _Nullable)failureBlock; // In-App Messaging triggers diff --git a/iOS_SDK/OneSignalSDK/Source/OneSignal.m b/iOS_SDK/OneSignalSDK/Source/OneSignal.m index db0ccadfb..c5e398e40 100755 --- a/iOS_SDK/OneSignalSDK/Source/OneSignal.m +++ b/iOS_SDK/OneSignalSDK/Source/OneSignal.m @@ -2622,6 +2622,10 @@ + (void)setExternalUserId:(NSString * _Nonnull)externalId { [self setExternalUserId:externalId withSuccess:nil withFailure:nil]; } ++ (void)setExternalUserId:(NSString *)externalId withCompletion:(OSUpdateExternalUserIdBlock)completionBlock { + [self setExternalUserId:externalId withSuccess:completionBlock withFailure:nil]; +} + + (void)setExternalUserId:(NSString * _Nonnull)externalId withSuccess:(OSUpdateExternalUserIdSuccessBlock _Nullable)successBlock withFailure:(OSUpdateExternalUserIdFailureBlock _Nullable)failureBlock { // return if the user has not granted privacy permissions if ([self shouldLogMissingPrivacyConsentErrorWithMethodName:@"setExternalUserId:withSuccess:withFailure:"]) @@ -2692,6 +2696,10 @@ + (void)removeExternalUserId { [self setExternalUserId:@""]; } ++ (void)removeExternalUserId:(OSUpdateExternalUserIdBlock)completionBlock { + [self removeExternalUserId:completionBlock withFailure:nil]; +} + + (void)removeExternalUserId:(OSUpdateExternalUserIdSuccessBlock _Nullable)successBlock withFailure:(OSUpdateExternalUserIdFailureBlock _Nullable)failureBlock { // return if the user has not granted privacy permissions if ([self shouldLogMissingPrivacyConsentErrorWithMethodName:@"removeExternalUserId:"])