Reputation: 918
I'm integrating an app with Branch.io and encountered an issue in Safari (I've tested this on iOS 11, but the issue might be appearing on other versions as well).
Basically, if I have my app installed and open a quick link in either Safari or Chrome, everything works fine and I get a prompt to open the link in the app. However, if I uninstall the app and tap on the link in Safari I get the following message:
When I tap the OK button, I get a prompt to open the Appstore which is the desired behaviour. Is there any way to prevent the "Safari cannot open the page because the address is invalid" message from appearing? I've tried opening the link in Chrome without the app installed and everything works fine there.
I've used the official setup guide and entered my URI Scheme but disabled Universal Links because I'm handling those myself. Could this be causing the issue?
Upvotes: 32
Views: 34259
Reputation: 1224
Try to clear safari cache. I also had similar kind of issues.
Settings > Safari > Clear History and Website.
Upvotes: 1
Reputation: 3
Starting with iOS 14, apps no longer send requests for AASA files directly to the webserver. Instead, they send these requests to an Apple-managed content delivery network (CDN) dedicated to associated domains.
Please look here: https://developer.apple.com/documentation/safariservices/supporting_associated_domains
Upvotes: 0
Reputation: 245
Hope it helps somebody.
These id's and prefixes from your apple dashboard: https://developer.apple.com/account/ios/identifier/bundle
If shortly, create file https://yourdomain.com/.well-known/apple-app-site-association
(without .json).
File content (it's mine, not sure which one object exactly needed, I added both):
{
"applinks": {
"apps": [],
"details": [
{
"appID": "YOURPREFIX.com.your.id",
"paths": [ "*" ]
},
{
"appID": "com.your.id",
"paths": [ "*" ]
}
]
}
}
Hope it helps somebody for basic works links without error and with auto-open the app.
Upvotes: 4
Reputation: 14420
I too was having this problem but I found that following the instructions in the Test section of the Branch Test App I was able to open the app without the Safari warning.
https://github.com/BranchMetrics/ios-branch-deep-linking/tree/master/Branch-TestBed-Swift#test
1. If the app was installed on the test device already:
* Delete the app from the device
* Clear Safari web content, history and cookies (Settings > Safari > Clear History and Website Data)
* Reset the device's IDFA (Settings > Privacy > Advertising > Reset Advertising Identifier...)
2. Create a Marketing link from the Branch dashboard
3. Paste the link into Notes on an iPhone
4. Tap the link - you will get redirected to the web page
5. ...
Upvotes: 23
Reputation: 381
Aaron from Branch.io here
You are probably getting this error because Branch is attempting to launch your app via URI schemes when the app is not installed. Starting from iOS 9.2, Apple no longer officially supports URI schemes for deep linking, and developers are strongly advised to implement Universal Links in order to get equivalent functionality on iOS.
Specifically, there are significant drawbacks to custom URI schemes, most notably the inability to easily handle these two situations:
For this reason, we recommend you enable Universal links in your Branch Dashboard. All you need to do is provide your bundle ID and app prefix, and Branch will host the AASA file for you.
Upvotes: 26