This page references our older Objective-C SDK. Check out our new Swift SDK to integrate our latest Swift-first library.
Storage
This article describes the different device-level properties captured when using the Braze iOS SDK.
Device properties
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 Braze’s 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 appboyOptions
of startWithApiKey:inApplication:withAppboyOptions:
.
For example, to specify time zone and locale collection to be allowlisted, set:
1
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.