Add the power of Branch Deep Linking and Attribution to your Adobe Marketing Cloud app. With Branch's Linking platform, mobile developers and marketers can grow their mobile business with world class Deep Links and Attribution.
Benefits
All events tracked with the Adobe SDK will automatically be sent to Branch without any extra work.
All core Branch functionality is accessible.
The SDK will automatically pick up the Adobe IDs.
Requirements
iOS 10+
Adobe Core Platform
iOS 14 Compatible
In order to give you full control over the user experience, the Branch SDK will not trigger the IDFA permission modal.
However, we will still collect and use IDFAs when available if you do choose to trigger the modal.
Learn more here.
Branch iOS SDK Not Required
As the Adobe Branch extension is a wrapper that automatically includes a sub-dependency for the Branch iOS SDK, it is neither necessary nor recommended to implement the Branch iOS SDK separately in your app.
Example Apps
An example app can be found in the AdobeBranchExtension-iOS repository, in the Examples/AdobeBranchExample
project.
Installation & Usage
Note
The Adobe Experience Platform (AEP) SDK and AdobeMobileLibrary cannot coexist in the same project.
Here's a brief outline of how to use the AdobeBranchExtension
in your app:
Configure your app and get a Branch API Key in the Branch Dashboard.
Add associated domains for Universal Links.
Configure your Info.plist file with an app URI scheme and your Branch Key.
In the Adobe dashboard, activate Branch and add your Branch Key to your app's configuration:
Add the AdobeBranchExtension to your app's Podfile using the
pod 'AdobeBranchExtension'
command.Run
pod install
andpod update
to install the latest version of the extension.Register
AdobeBranchExtension
withAEPMobileCore
in thedidFinishLaunchingWithOptions()
Branch SDK method:
Add the Branch Deep Link routers and receivers in your AppDelegate class in three places, as shown below:
For best practices related to routing, visit Branch's Deep Link Routing guide.
NativeLink™ Deferred Deep Linking
Use iOS pasteboard to enable deferred deep linking via Branch NativeLink™.
Prerequisites
Minimum underlying Branch iOS SDK Version: v1.39.4
To use this feature you must either:
Enable NativeLink™ Deep Linking in the Branch Dashboard Configuration tab
orManually configure your Branch Link to use $ios_nativelink
To use NativeLink™, implement one of the pasteboard opt-in options in the native iOS SDK code.
Please note that deferred deep linking is part of our Engagement package. Learn more on our pricing page.
Implementing Branch Features
Once you've added the AdobeBranchExtension and Branch, you can always use Branch features directly. You can learn about using the Branch features in the Branch documentation for iOS.
Register AEPCore
There are two ways to register with AEPCore
:
Access the hosted Adobe config by directly passing in the App ID:
Configuring at runtime by updating the
AEPCore
configuration:
Enable Event Sharing
To enable Event Sharing between Adobe and Branch, add the following line of code and specify which event types and sources you want forwarded to Branch:
Register Event Allow or Exclusion List
Conflict
You can define either an allow list or an exclusion list of events but you can't define both.
You can create an allow list and add event types to it:
Or you can create an exclusion list and add event types to it:
Disable Event Sharing
To disable Event Sharing between Adobe and Branch, add the following line of code:
Automatic: Track Action and State
When you track actions and states in Adobe Launch, the action and state messages are sent to Branch too and shown on the Branch Dashboard. This allows you to track the effectiveness of Branch Deep Link campaigns and viral sharing in your app's actions.
Here's an example of tracking app state via Adobe Launch:
Register Extension
Once the allow list or exclusion list of event names has been configured, the AdobeBranchExtension
needs to be registered.