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
Writing custom region/language
Batch.Profile.editor().apply {
setLanguage("en") // Language must be 2 chars, lowercase, ISO 639 formatted
setRegion("US") // Region must be 2 chars, uppercase, ISO 3166 formatted
save()
}
Batch.Profile.editor()
.setLanguage("en") // Language must be 2 chars, lowercase, ISO 639 formatted
.setRegion("US") // Region must be 2 chars, uppercase, ISO 3166 formatted
.save();
}
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.
// This is how you retrieve your custom values. Values are nil by default.
val language: String? = Batch.User.getLanguage(context)
val region: String? = Batch.User.getRegion(context)
// This is how you retrieve your custom values. Values are nil by default.
String language = Batch.User.getLanguage(context);
String region = Batch.User.getRegion(context);