In recent years, Apple has made several privacy-centric changes that have shifted the mobile attribution experience and paradigm.
With the introduction of iOS 16, Apple has added one more to the list: any time the pasteboard is programmatically accessed for content from another app, by default, the operating system will present the following user prompt:
However, the aforementioned prompt does not have to be the standard user experience!
Spoiler alert: when iOS 16 launches (currently expected in the first half of September, 2022), your app will have a few options for pasteboard flows.
Before we dive into the specifics of this user opt-in requirement and Branch’s perspective, let’s discuss the importance of this upcoming shift.
Why is this change significant for your app?
With iOS 15, Apple introduced Private Relay. This privacy feature masks the IP address of Safari users with an iCloud+ subscription, meaning that one of the key identifiers used for deferred deep linking is no longer be available for a subset of users.
To help brands continue providing reliable deep link experiences for Private Relay users, Branch built NativeLink™, a privacy-centric, on-device solution that uses the pasteboard to guarantee deferred deep link accuracy and attribution matching during the app install experience.
The new iOS 16 pasteboard permission means accessing content from the pasteboard will now require a user opt-in — and if the user declines, the content will not be reachable. This change is significant for apps using NativeLink, because NativeLink uses the pasteboard on iOS to store a Branch link and redirect to the correct destination after install. In terms of what will be impacted, high on the list are deterministic matching, onboarding flows, and content sharing.
How is an opt-in defined with iOS 16 pasteboard?
To clarify — even though iOS 16’s new pasteboard permission feature can impact user experiences, it also gives transparency to the end user. According to Apple, this new pasteboard permission prompt is privacy-centric, making it so that “apps need your permission before accessing the pasteboard to paste content from another app.”
Before we discuss Apple’s new opt-in prompt in more depth, let’s first talk about what is considered an opt-in with the iOS 16 pasteboard.
Anytime the pasteboard is accessed, the opt-in prompt will be shown, except if one of the following occurs:
- The user pastes via the edit options menu
While the first two items on this list are fairly straightforward, the third may need further explanation. On iOS, developers can now use the UIPasteControl class to create a button that will paste content in the app.
Apple has made this button available as the standard CTA wherever your app is asking the user to access the pasteboard for content from another app. The CTA button can be customized to some extent, with the stipulation that the button itself has to explicitly say “Paste” and/or display the paste icon. A few examples of ways this button can be customized are shown below:
Branch’s recommended solutions
Branch is committed to maintaining end-user transparency, with privacy-centric features (like our NativeLink™ product) that are not only safe but also help ensure a great user experience. When iOS 16 is released, you will have a few options for how existing pasteboard flows in your app will be handled. The options are to:
- Utilize Branch’s updated NativeLink™ feature to secure user consent
- Manually implement using the UIPasteControl framework or BranchPasteControl
- Allow the native (default) Apple prompt to display
Branch will be introducing an in-app NativeLink™ interstitial to comply with the new pasteboard permissions requirements (live Q1 2023). This is great news for customers currently using the Branch SDK and our NativeLink™ feature, and it is Branch’s recommended option to prepare for the upcoming iOS 16 changes, since minimal actions will be required on your end.
If you want more control, you’ll also have the option of manually implementing the UIPasteControl framework, displaying a UIPasteControl or BranchPasteControl Button in your app, and customizing it if you so choose. Should you decide on this route, the pasteboard permissions prompt will not show, but this solution will take some time and development resources from your team to implement and test. Please refer to integration steps here.
The third option is to allow the native iOS popup to display, which has the potential to disrupt your current users’ in-app experience and to be layered with a multitude of other native iOS prompts (like AppTrackingTransparency, Device-Location Services, Bluetooth, or Push Notifications).
If you are currently using the Branch NativeLink Feature, on iOS 16, when the Branch SDK checks the pasteboard on first opens, the native iOS prompt will automatically display itself requesting permission from the user. The alternative integrations will be supported as of Q4 2022.
Branch is committed to keeping customers informed about the latest industry changes before they happen, and we have a dedicated team of subject matter experts working on a proactive solution to the iOS 16 changes. If your app uses NativeLink, then deciding how you want to solve the upcoming release of iOS 16 is ultimately up to you.
Choosing Branch is a great way to remove friction within the user experience while freeing up your resources to work on awesome app features. With Branch, you can rest assured that we’ll continue handling change in the ever-evolving mobile ecosystem.
- Branch NativeLink™
- SKAdNetwork 4.0 Is Out — What Happens Now?
- 8 iOS 16 Changes and What They Mean for Marketers
- WWDC 2022 Recap: What’s New for Mobile Growth?
- SKAN 4.0 Recap: What’s Changed Since WWDC 2022?
- How to Improve Conversions with NativeLink™ Customization
- Branch NativeLink™: An Innovative Solution to the Deferred Deep Linking Challenges Caused by Private Relay in iOS 15
- NativeLink and App Clips: Solving the Deferred Deep Linking Challenges of Private Relay
- Branch Data Shows NativeLink™ is Solving Deferred Deep Linking for Private Relay Users on iOS
- Help Docs