iOS > Custom data

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:

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];
let 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()

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.