If you are familiar with URI schemes in the context of deep linking, you may be familiar with the dreaded Safari modal that is presented whenever a user tries to open a URI scheme without having the app installed.
This issue was the core reasoning for the introduction of Apple’s Universal Links. Unfortunately, these links were far from “universal.” Facebook was one of the apps that wouldn’t allow app opens from Universal Links, so app developers were required to use URI schemes if they wanted to take users into their app from Facebook. Of course, this brought the solving of the Safari error modal issue back to square one.
Unfortunately, at Branch, our default link behavior is to not risk showing an error message to the user, so—by default—we never use URI schemes in Safari or Facebook on iOS. This means Branch links will redirect to the App Store or fallback to your website, rather than risk opening the app. We realize that this conservative blanket policy might be a bit frustrating for some, so we’re introducing two new redirect modes that can be enabled globally or on a per-link basis:
- Conservative (default)
This is the behavior that avoids using URI schemes whenever a user is operating from Facebook or Safari.
- Intelligent (new)
Intelligent mode infers whether the user has the app installed before attempting to open the app via URI schemes.
- Forceful (new)
Forceful mode operates just as it sounds. In cases where Universal Links fail, these links will always fallback on URI schemes.
We recommend using intelligent as this will limit the number of error messages for users that do not have the app installed and will greatly increase the user experience of the users that we know do.