iOS 14 SDK Upgrade Guide

This guide describes Braze-related changes introduced in iOS 14 and the required upgrade steps for your Braze iOS SDK integration.

For a complete list of new iOS 14 updates, see Apple’s iOS 14 Page.

Summary of iOS 14 breaking changes

  • Apps targeting iOS 14 / Xcode 12 must use our official iOS 14 release.
  • Geofences are no longer supported by iOS for users who choose the new approximate location permission.
  • Use of the “Last Known Location” targeting features will require an upgrade to Braze iOS SDK v3.26.1+ for compatibility with approximate location permission. Note that if you are using XCode 12, you will need to upgrade to at least v3.27.0.
  • IDFA collection will soon require a permission prompt. Once Apple begins to enforce this change later in 2021, apps must update to use the new AppTrackingTransparency Framework.
  • If you use the “Ad Tracking Enabled” field for campaign targeting or analytics, you will need to upgrade to Xcode 12 and use the new AppTrackingTransparency framework to report end users’ opt-in status.

Upgrade Summary

If Your App Uses: Upgrade Recommendation Description
Xcode 12 Upgrade to iOS SDK v3.27 or above Customers using Xcode 12 must use v3.27.0+ for compatibility. If you experience any issues or questions related to our iOS 14 compatibility, please open a new Github Issue.
Most Recent Location Upgrade to iOS SDK v3.26.1 or above If you use the Most Recent Location targeting feature and are still using XCode 11, you should upgrade to at least iOS SDK v3.26.1 which supports the new Approximate Location feature. Older SDKs will not be able to reliably collect location when a user upgrades to iOS 14 and choose Approximate Location.

Even though your app might not target iOS 14, your end users may upgrade to iOS 14 and begin to use the new location accuracy option. Apps that do not upgrade to iOS SDK v3.26.1+ will not be able to reliably collect location attributes when users provide their approximate location on iOS 14 devices.
IDFA Ad Tracking ID Upgrade to Xcode 12 and iOS SDK v3.27 may be required Sometime in 2021, Apple will begin to require a permission prompt for the collection of the IDFA. At that time, apps must upgrade to Xcode 12 and use the new AppTrackingTransparency framework in order to continue collecting IDFA. If you pass IDFA to the Braze SDK you must also upgrade to v3.27.0+ at that time.

Apps that do not use the new iOS 14 APIs will be unable to collect IDFA, and will instead collect a blank ID (00000000-0000-0000-0000-000000000000) once Apple begins to enforce this change in 2021. For more information on whether or not this applies to your app, read the details below.

iOS 14 Behavior Changes

Approximate Location Permission

Precise Location

Overview

When requesting location permission, users will now have a choice to provide their precise location (previous behavior), or the new approximate location. Approximate location will return a larger radius in which the user is located, instead of their exact coordinates.

Geofences

Geofences are no longer supported by iOS for users who choose the new approximate location permission. While no updates are required for your Braze SDK integration, you may need to adjust your location-based marketing strategy for campaigns that rely on geofences.

Location Targeting

To continue to collect users’ last known location when approximate location is granted, your app will need to upgrade to at least v3.26.1 of the Braze iOS SDK. Keep in mind that the location will be less precise, and based on our testing has been upwards of 12,000 meters (7+ miles). When using the last known location targeting options in the Braze Dashboard, be sure to increase the location’s radius to account for new approximate locations (we recommend at least a 1 mile/1.6km radius).

Apps that do not upgrade their Braze iOS SDK to at least v3.26.1 will no longer be able to use location tracking when approximate location is granted on iOS 14 devices.

Users who have already granted location access will continue to provide precise location after upgrading.

Note that if you are using XCode 12, you will need to upgrade to at least v3.27.0.

For more information on Approximate Location, see Apple’s What’s New In Location WWDC Video.

IDFA and App Tracking Transparency

Overview

IDFA (Identifier for Advertisers) is an identifier provided by Apple for use with advertising and attribution partners for cross-device tracking and is tied to an individual’s Apple ID.

Later in 2021, iOS 14 will require a new permission prompt (launched by the new AppTrackingTransparency framework) to get explicit user consent to access the IDFA. This permission prompt to “track you across apps and websites owned by other companies” will be requested similarly to how you’d prompt users to request their location.

If a user does not accept the prompt, or if you do not upgrade to Xcode 12’s AppTrackingTransparency framework, then a blank IDFA value (00000000-0000-0000-0000-000000000000) will be returned, and your app will not be allowed to prompt the user again.

Changes to Braze IDFA collection

IDFA

  1. Braze will continue to allow apps to provide a user’s IDFA value to the Braze SDK

  2. The ABK_ENABLE_IDFA_COLLECTION compilation macro, which would conditionally compile in optional automatic IDFA collection, will no longer function in iOS 14 and has been removed in 3.27.0.

  3. If you use the “Ad Tracking Enabled” field for campaign targeting or analytics, you will need to upgrade to Xcode 12 and use the new AppTrackingTransparency framework to report end users’ opt-in status. The reason for this change is that in iOS 14, the old advertisingTrackingEnabled field will always return No.

  4. If your app has used IDFA or IDFV as your Braze External ID, we strongly recommend migrating away from these identifiers in favor of a UUID. For more information on migrating External IDs, see our new External ID Migration API Endpoint.

Read more from Apple about their Privacy Updates and the new App Tracking Transparency framework.

Push Authorization

iOS 14 New Features

App Privacy and Data Collection Overview

The App Store’s new App Privacy feature will disclose to users what personal information an app collects and how it may track users across other apps and websites. Apple has stated, “Privacy information on the App Store will be coming in an iOS 14 update later this year”.

Braze will continue to monitor this new feature announcement to help you understand how your usage of Braze may be disclosed in the App Privacy summary.

To learn more about this feature, see Apple’s Privacy and Data Use.

App Clips

Overview

App Clip

An App clip is a small part of your app that can be quickly accessed without installation by visiting a URL or scanning a QR code.

This feature gives users quicker access to sample your app, with an opportunity to either upgrade to the full app experience or auto-delete after a period of inactivity.

To learn more about App Clips, see Apple’s App Clip Documentation

Braze Support

For customers interested in using Braze within App Clips, please contact your Braze Success Team or Support Team.

We will be releasing support and documentation in the near future.

WAS THIS PAGE HELPFUL?
New Stuff!