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 locale/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.
Here is how to set a custom region/language:
var userProfile = BatchPlugin.DefaultUserProfile; // Use the user profile to set custom language and data userProfile.ApplicationLanguage = "en"; // Language must be 2 chars, lowercase, ISO 639 formatted userProfile.ApplicationRegion = "US"; // Region must be 2 chars, uppercase, ISO 3166 formatted
Reading back the values will return what you've set. However, if you reset them, reading them will give you what Batch detects (and thus will report to the dashboard), rather than
If you call getUserProfile method before onStart it will return null. You should always call it after you started the SDK, and check nullity to be safe.