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
Here is how to set a custom region/language:
BatchProfile.instance.newEditor()
.setLanguage("en") // Language must be 2 chars, lowercase, ISO 639 formatted
.setRegion("US") // Region must be 2 chars, uppercase, ISO 3166 formatted
.save();
To unset the custom language/region, use null
.
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.
// Result might be 'null' if Batch isn't started or if no override has been set
var region = await BatchUser.instance.language ?? 'none';
var region = await BatchUser.instance.region ?? 'none';