This article describes the different device-level properties captured when using the Braze iOS Swift SDK.
By default, Braze will collect the following device-level properties to allow device, language, and time zone-based message personalization:
- Device Carrier (see note on the
- Device Locale
- Device Model
- Device OS Version
- Push Authorization Status
- Push Display Options
- Push Enabled
- Device Resolution
- Device Time Zone
The Braze SDK does not collect IDFA automatically. Apps may optionally pass IDFA to Braze by implementing the methods directly below. Apps must obtain explicit opt-in to tracking by the end user through the App Tracking Transparency framework before passing IDFA to Braze.
- To set the advertising tracking state, use
- To set the identifier for advertiser (IDFA), use
Configurable device fields are defined in the
Braze.Configuration.DeviceProperty enum. To disable or specify the device field you’d like to allowlist, add the fields to the
devicePropertyAllowList property of the
For example, to specify time zone and locale collection to be allowlisted, set:
1 configuration.devicePropertyAllowList = [.timeZone, .locale]
1 2 3 4 configuration.devicePropertyAllowList = @[ BRZDeviceProperty.timeZone, BRZDeviceProperty.locale ];
By default, all fields are enabled. Note that without some properties, not all features will function properly. For instance, local time zone delivery will not function without the time zone.
To read more about the automatically collected device properties, visit our SDK data collection.