Batch allows you to set a custom region or a custom language that will override the value detected by the SDK. By default, Batch collects the language and the country of your users' devices.
Setting a custom region/language is useful if:
- You don't want to use the values detected by Batch.
- Your users can choose their own language or region for localization purposes.
Here is how to set a custom region/language:
BatchUserDataEditor *editor = [BatchUser editor]; [editor setLanguage:@"en"]; // Language must be 2 chars, lowercase, ISO 639 formatted [editor setRegion:@"US"]; // Region must be 2 chars, uppercase, ISO 3166 formatted [editor save]; // This is how you retrieve your custom values. Values are nil by default. NSString *language = [BatchUser language]; NSString *region = [BatchUser region];
If you call
startWithAPIKeyit will return nil. You should always call it after you started the SDK, and check nullity to be safe.