Skip to content

Commit f0e0fb4

Browse files
committed
Fixing logic for delaying setting external user id
We sometimes we don't create a new session if we force quit and come back within 30 seconds. This caused a bug where we would never send external ids. To fix this we just need to check that we have called for remote params
1 parent fe0d439 commit f0e0fb4

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

iOS_SDK/OneSignalSDK/Source/OneSignal.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -849,7 +849,7 @@ + (void)downloadIOSParamsWithAppId:(NSString *)appId {
849849
requiresUserIdAuth = [result[IOS_REQUIRES_USER_ID_AUTHENTICATION] boolValue];
850850

851851
// checks if a call to setExternalUserId: was delayed due to missing 'require_user_id_auth' parameter
852-
if (delayedExternalIdParameters && self.currentSubscriptionState.userId) {
852+
if (delayedExternalIdParameters) {
853853
[self setExternalUserId:delayedExternalIdParameters.externalId withExternalIdAuthHashToken:delayedExternalIdParameters.authToken withSuccess:delayedExternalIdParameters.successBlock withFailure:delayedExternalIdParameters.failureBlock];
854854
delayedExternalIdParameters = nil;
855855
}
@@ -2541,7 +2541,7 @@ + (void)setExternalUserId:(NSString *)externalId withExternalIdAuthHashToken:(NS
25412541
return;
25422542

25432543
// Can't set the external id if init is not done or the app id or user id has not ben set yet
2544-
if (!performedOnSessionRequest) {
2544+
if (!_didCallDownloadParameters) {
25452545
// will be sent as part of the registration/on_session request
25462546
pendingExternalUserId = externalId;
25472547
pendingExternalUserIdHashToken = hashToken;

0 commit comments

Comments
 (0)