Search specific term/phrase surrounded by double quotes. e.g. “deep linking”
Exclude records that contain a specific term prefixed with a minus. e.g. Android -Firebase

Windows SDK

SDK Stats

Open Source Github Repo: https://github.com/BranchMetrics/cpp-branch-deep-linking-attribution

Minimum Visual Studio version 2019+

SDK Functionality

FunctionalityDescriptionSupported
Deep LinkingWhat:
Branch’s deep links store contextual information about where a user wants to go, where the link was clicked, who originally shared the link, and an almost unlimited amount of custom data.

Why:
This empowers you to build powerful personalization features to provide users better experiences and happier, stickier users.
Deferred Deep LinkingWhat:
Deep link users to relevant content immediately after first install.

Why:
Deferred deep linking allows a user to click on a link, install an app associated with the link, and then visit the content associated with that link in the newly installed app.

Deferred deep linking is inherently included in Branch's deep linking capabilities. There is no additional setup!
Intelligent Fallback LogicWhat:
Branch routes users based on the link behaviors you specify in your account. This includes redirects for android (phone + tablet), ios (phone + tablet), desktop (Mac + Windows), and social media previews.

Why:
Branch's behavior for desktop link redirects is under development pending user testing. Currently, if the URI scheme provided does not load, the end user will experience a blank page.
Send to Desktop App Store When App Not InstalledWhat:
At this time, Branch will route users without your native desktop app to your Default Desktop URL instead of the Desktop App Store. The option to route users to the Desktop App Store instead of your Default Desktop URL is on the product roadmap.
Universal LinksWhat:
Universal Links serve as standard web links (i.e., www.branch.io), but point to a website page and content in the app. This standard was invented to provide developers with a graceful fallback if the app was not installed on a user's phone, and to remove URI schemes from the mobile ecosystem.
Branch Universal Objects (BUO)What:
The Branch Universal Object represents content to be shared or indexed with Branch. It acts as a container upon which all metadata and link properties are passed in and carried to your application.
Branch Standard EventsWhat:
Branch Win32 C++ SDK tracks clicks, opens, installs, reinstalls and impressions automatically (out-of-the-box). However, Branch supports 25 standard events covering commerce, content and lifestyle events that you can measure.

Why:
By measuring a wide variety of events, you can more efficiently optimize both the functionality of your app and your advertising strategies. Measuring events and understanding how your users interact with your app directly impacts your ability to build effective and ROI positive advertising campaigns by enabling you to compare retention, engagement and LTV to your costs.
Branch Custom EventsWhat:
Custom events are simply events at are unique to your app and therefore require custom implementation to accurately capture.

Why:
By measuring a wide variety of events, you can more efficiently optimize both the functionality of your app and your advertising strategies. Measuring events and understanding how your users interact with your app directly impacts your ability to build effective and ROI positive advertising campaigns by enabling you to compare retention, engagement and LTV to your costs.
Dedicated Redirect ParametersWhat:
In addition to the default redirects you have in place at the app-level, you can also use a dedciated redirect parameter at the link-level. When this platform-specific parameter is manually added to a link, Branch routes any user who clicks on it to the destination URL you provide; overriding the default redirect settings at the app-level.

Why:
Give yourself the flexibility to control where your users are sent to when you want a different experience than the default landing page you've specified at the app-level. Particularly useful when running campaigns targeting a non-standard use case as you don't have to change your global redirect settings.
Persist User IdentitiesWhat:
Often, you might have your own user IDs, or want referral and event data to persist across platforms or the uninstall/reinstall of your app.

Why:
Persisting a user's identity can be very helpful to asses if your users access your service from different devices, thereby providing a more complete story of your user.
Disable User TrackingWhat:
If a user indicates that they want to limit collection of their data on your app or website, or if you otherwise determine that a particular end user’s data should not be collected or otherwise processed, you can continue to make use of the Branch’s SDK (e.g. for creating and sharing Branch links) while not tracking that end user.

Why:
We collect limited device information to power our deep linking technology and to provide attribution and analytics services. However, we understand that some end-users would like to opt out of this data processing; and, in other cases, the law (or Branch’s policies) do not permit that certain types of personal data for certain end users be provided to Branch (for example, data relating to children under the age of 13).
Short LinksWhat:
Short links are the most common deep link and are highly customizeable. You can customize the subdomain of example.app.link,change to your own personal domain links.yoursite.com, or tailor the appearance of the short link to a custom alias during creation (e.g. https://example.app.link/october-sale).

Why:
Short links allow you to present branded, short and to the point links that are visually easy to digest.
Push NotificationsWhat:
Deep link into specific app content directly from a push notification on the user's device.
Last Attributed Touch Data (LATD)What:
Last attributed touch data contains the information associated with that user's last viewed impression or clicked link.
SDK LoggingWhat:
The Branch SDK for macOS is instrumented with a built-in logger so you can log API calls you make with the SDK.

Why:
Turning the logger on allows you to surface request and response bodies, that are JSON formatted.

Branch Demo App

Want to take our technology for a test drive before implementing it?

Testing Implementation

Test your Branch integration before your app goes live.

Version History

View past versions of the Branch SDK for Win32 C++ including changes.