Skip to content

Commit 419df98

Browse files
committed
adding a registerUserSuccessful. registerUserFinished also represents fail
1 parent e5d4c79 commit 419df98

File tree

4 files changed

+20
-5
lines changed

4 files changed

+20
-5
lines changed

iOS_SDK/OneSignalSDK/Source/OSStateSynchronizer.m

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ + (void)setEmailUserId:(NSString *)emailUserId;
4848
+ (void)saveExternalIdAuthToken:(NSString *)hashToken;
4949
+ (void)saveSMSNumber:(NSString *)smsNumber withAuthToken:(NSString *)smsAuthToken userId:(NSString *)smsPlayerId;
5050
+ (void)registerUserFinished;
51-
51+
+ (void)registerUserSuccessful;
5252
@end
5353

5454
@interface OSStateSynchronizer ()
@@ -129,7 +129,7 @@ - (void)registerUserWithState:(OSUserState *)registrationState withSuccess:(OSMu
129129

130130
[OneSignalClient.sharedClient executeSimultaneousRequests:requests withSuccess:^(NSDictionary<NSString *, NSDictionary *> *results) {
131131
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:[NSString stringWithFormat:@"on_session result: %@", results]];
132-
[OneSignal registerUserFinished];
132+
[OneSignal registerUserSuccessful];
133133

134134
// If the external user ID was sent as part of this request, we need to save it
135135
// Cache the external id if it exists within the registration payload
@@ -186,6 +186,7 @@ - (void)registerUserWithState:(OSUserState *)registrationState withSuccess:(OSMu
186186
for (NSString *key in @[OS_PUSH, OS_EMAIL])
187187
[OneSignal onesignal_Log:ONE_S_LL_ERROR message:[NSString stringWithFormat: @"Encountered error during %@ registration with OneSignal: %@", key, errors[key]]];
188188

189+
[OneSignal registerUserFinished];
189190
if (failureBlock)
190191
failureBlock(errors);
191192
}];

iOS_SDK/OneSignalSDK/Source/OSSubscription.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ + (void)fireChangesObserver:(OSSubscriptionState*)state {
181181
OSSubscriptionStateChanges* stateChanges = [OSSubscriptionStateChanges alloc];
182182
stateChanges.from = OneSignal.lastSubscriptionState;
183183
stateChanges.to = [state copy];
184-
if (OneSignal.isRegisterUserFinished) {
184+
if (OneSignal.isRegisterUserSuccessful) {
185185
BOOL hasReceiver = [OneSignal.subscriptionStateChangesObserver notifyChange:stateChanges];
186186

187187
if (hasReceiver) {

iOS_SDK/OneSignalSDK/Source/OneSignal.m

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -471,10 +471,15 @@ + (NSString*)mUserId {
471471
+ (void)setUserId:(NSString *)userId {
472472
self.currentSubscriptionState.userId = userId;
473473
}
474-
474+
// This is set to true even if register user fails
475475
+ (void)registerUserFinished {
476476
_registerUserFinished = true;
477477
}
478+
// If successful then register user is also finished
479+
+ (void)registerUserSuccessful {
480+
_registerUserSuccessful = true;
481+
[OneSignal registerUserFinished];
482+
}
478483

479484
+ (NSString *)mEmailAuthToken {
480485
return self.currentEmailSubscriptionState.emailAuthCode;
@@ -593,6 +598,7 @@ + (void)clearStatics {
593598
_outcomeEventsController = nil;
594599

595600
_registerUserFinished = false;
601+
_registerUserSuccessful = false;
596602

597603
_delayedSMSParameters = nil;
598604
}
@@ -1653,6 +1659,11 @@ + (BOOL)isRegisterUserFinished {
16531659
return _registerUserFinished || isOnSessionSuccessfulForCurrentState;
16541660
}
16551661

1662+
static BOOL _registerUserSuccessful = false;
1663+
+ (BOOL)isRegisterUserSuccessful {
1664+
return _registerUserSuccessful || isOnSessionSuccessfulForCurrentState;
1665+
}
1666+
16561667
+ (BOOL)shouldRegisterNow {
16571668
// return if the user has not granted privacy permissions
16581669
if ([self shouldLogMissingPrivacyConsentErrorWithMethodName:nil])
@@ -1822,6 +1833,7 @@ + (OSUserState *)createUserState {
18221833
+ (void)registerUserInternal {
18231834
[OneSignal onesignal_Log:ONE_S_LL_VERBOSE message:@"registerUserInternal"];
18241835
_registerUserFinished = false;
1836+
_registerUserSuccessful = false;
18251837

18261838
// return if the user has not granted privacy permissions
18271839
if ([self shouldLogMissingPrivacyConsentErrorWithMethodName:nil])
@@ -1928,7 +1940,6 @@ + (void)registerUserInternal {
19281940
callbackSet.failureBlock(error);
19291941
}
19301942
}
1931-
19321943
[OSMessagingController.sharedInstance updateInAppMessagesFromCache];
19331944
}];
19341945
}

iOS_SDK/OneSignalSDK/Source/OneSignalInternal.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,10 @@
7979

8080
@property (class, readonly) BOOL didCallDownloadParameters;
8181
@property (class, readonly) BOOL downloadedParameters;
82+
//Indicates we have attempted to register the user and it has succeeded or failed
8283
@property (class, readonly) BOOL isRegisterUserFinished;
84+
//Indicates that registering the user was successful
85+
@property (class, readonly) BOOL isRegisterUserSuccessful;
8386

8487
@property (class) NSObject<OneSignalNotificationSettings>* _Nonnull osNotificationSettings;
8588
@property (class) OSPermissionState* _Nonnull currentPermissionState;

0 commit comments

Comments
 (0)