Custom region/language

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.

Custom locale

Here is how to set a custom region/language:

  • Objective-C
  • Swift
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 editor method before startWithAPIKey it will return nil. You should always call it after you started the SDK, and check nullity to be safe.