@@ -1896,6 +1896,8 @@ + (void)registerUserInternal {
18961896 if (self.playerTags .tagsToSend ) {
18971897 [self performSelector: @selector (sendTagsToServer ) withObject: nil afterDelay: 5 ];
18981898 }
1899+
1900+ // TODO: Check for Pending Language State and add a put call for it
18991901
19001902 // Try to send location
19011903 [OneSignalLocation sendLocation ];
@@ -2699,11 +2701,32 @@ + (id)getTriggerValueForKey:(NSString *)key {
26992701}
27002702
27012703+ (void )setLanguage : (NSString * _Nonnull)language {
2704+ // return if the user has not granted privacy permissions
2705+ if ([self shouldLogMissingPrivacyConsentErrorWithMethodName: @" setLanguage" ])
2706+ return ;
2707+
27022708 let languageProviderAppDefined = [LanguageProviderAppDefined new ];
27032709 [languageProviderAppDefined setLanguage: language];
27042710 [languageContext setStrategy: languageProviderAppDefined];
27052711
2712+ // Can't send Language if there exists not LanguageContext or language
2713+ if (languageContext.language )
2714+ [self setLanguageOnServer ];
27062715}
2716+
2717+ // Called only with a delay to batch network calls.
2718+ + (void )setLanguageOnServer {
2719+
2720+ // return if the user has not granted privacy permissions
2721+ if ([self shouldLogMissingPrivacyConsentErrorWithMethodName: nil ])
2722+ return ;
2723+
2724+ if (!languageContext.language ) // Add Language null check
2725+ return ;
2726+
2727+ [OneSignal.stateSynchronizer updateLanguage: languageContext.language appId: appId];
2728+ }
2729+
27072730+ (void )setExternalUserId : (NSString * _Nonnull)externalId {
27082731
27092732 // return if the user has not granted privacy permissions
0 commit comments