AppboyKit (also known as the Objective-C SDK) is no longer supported and has been replaced by the Swift SDK. It will no longer receive new features, bug fixes, security updates, or technical support—however, messaging and analytics will continue to function as normal. To learn more, see Introducing the New Braze Swift SDK.
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 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 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.