This page references our older Objective-C SDK. Check out our new Swift SDK to integrate our latest Swift-first library.
This article describes the different device-level properties captured when using the Braze iOS SDK.
By default, Braze will collect the following device-level properties to allow device, language, and time zone-based message personalization:
- Device Resolution
- Device Carrier
- Device Locale
- Device Model
- Device OS Version
- IDFV (Optional with iOS SDK v5.7.0+)
- Push Enabled
- Device Time Zone
- Push Auth Status
- Ad Tracking Enabled
The Braze SDK does not collect IDFA automatically. Apps may optionally pass IDFA to Braze by implementing our
ABKIDFADelegate protocol. Apps must obtain explicit end user opt-in to tracking through the app tracking transparency framework before passing IDFA to Braze.
Configurable device fields are defined in the
ABKDeviceOptions enum. To disable or specify the device field you’d like to allowlist, assign the bitwise
OR of desired fields to
ABKDeviceAllowlistKey in the
For example, to specify time zone and locale collection to be allowlisted, set:
appboyOptions[ABKDeviceAllowlistKey] = @(ABKDeviceOptionTimezone | ABKDeviceOptionLocale);
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.