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.
Writing custom region/language
- Swift
- Objective-C
BatchProfile.editor { editor in
try? editor.setLanguage("en") // Language must be 2 chars, lowercase, ISO 639 formatted
try? editor.setRegion("US") // Region must be 2 chars, uppercase, ISO 3166 formatted
// If you prefer to use BatchProfile.editor() with local variable instead of usiong a closure,
// remember to use editor.save() afterwards so that the changes are taken into account.
}
If you call
editor
method beforestartWithAPIKey
it will return nil. You should always call it after you started the SDK, and check nullity to be safe.
Reading custom region/language
Keep in mind that the data returned is only about your installation and not your Profile since it may be updated from another source.
- Swift
- Objective-C
// This is how you retrieve your custom values. Values are nil by default.
let language = BatchUser.language()
let region = BatchUser.region()