I recently implemented universal links in iOS. It works fine in iOS version 12.1 and below but fails to redirect back to the app in iOS 12.2 and 12.3.
Issue in 12.2 and higher:
The browser doesn’t redirects back to the app but I do get a banner(with an ‘OPEN’ button) in the browser to open the content in the app.
Even when I copy the link in Notes and long press it, it shows me the option to open the link in my app.
I read in some article that there is a possibility that universal links get disabled and by choosing the option to ‘Open in {myApp}’ re-enables it. But this is not the case.
Despite trying the above method, universal links still doesn’t works the way it should.
Pre-Checks:
AASA link is verified through Branch.io validator
Applink is registered in entitlements.plist file
Proper handling of redirected url is performed (Note that I do get a banner in the browser to open the url in my app and upon clicking
on it, the app functions as it needs to)
Is there any change from 12.2 that I am missing?
I went through the release notes and was unable to find anything about universal links.
Any help is appreciated.
Related
I have done basic setup for universal linking
Associated domain is set applinks:domainName
Uploaded apple-app-site-association file to the server (tested in https://branch.io/resources/aasa-validator/). Updated new format to support iOS 13
Certificates are valid
Running in release mode
Added code for redirection in app
But still, on click of universal link, safari gets opened instead of iOS app (Not even a banner with OPEN button). Tried from notes app too .On long press of the link, my app is also not listed
I am trying to get Firebase Dynamic links that I have integrated on my ios app to open. Following the youtube tutorial (https://www.youtube.com/watch?v=KLBjAg6HvG0) I have downloaded my app onto my phone from Xcode. When I try to open up the link I automatically get redirected into safari browser and I'm presented with this image.
https://imgur.com/a/e6AJMhj
The tutorial runs threw several things that could be the reason for my link not opening up my app
Make sure to have the correct URL in the Associated Domain Setting which I do. https://imgur.com/a/lJExtjU
Check and make sure that you have the correct App ID prefix entered in the console which is true because Xcode verifies that. https://imgur.com/a/LVytoni
Universal link for the domain was disabled because I opened it in Safari and I have to now long press on the link and open it in the app. Now heres the problem.
In mail app, imessages app, and notes app all dont have an option to "Open in .
Mail (https://imgur.com/a/Pz81IqN), iMessages (https://imgur.com/a/2ykChUM), and Notes app (https://imgur.com/a/lwoejEH).
Even referencing these guides I am unable to solve my problem (Universal Links iOS) (Universal Links not working on iOS10)
Check to make sure the apple-app-association file in created which it is and it shows that #2's image.
I have exhausted all options and googling for answers is now getting me nowhere. I need help on how to get my Universal Link working again.
It helps if applinks is not spelled "applink" in the Info.plist associated domains.
I am using Branch deep links in an app for sharing links to content in the app via social media. Everything was working fine quite a while.
When updating to iOS 11.2 I encountered the following behavior:
1) After the update the Universal Links still worked.
2) I uninstalled the app and reinstalled it.
3) Since then, all links always open the Branch deep view in Safari.
4) Tapping "Open The App", opens the AppStore.
It does not matter in which app I tap on the link (Notes, WhatsApp, Messages, Facebook, ...), it is always the same behavior.
The Universal Link was not bypassed by tapping the "go to link" button in the upper right corner (when app was opened). I tested on three different devices (iPhone 5s, iPhone 6s, iPhone 7). All led to the same result.
I found out that there was a bug in iOS 11 beta 2 which was fixed in the beta 3 (Ios 11.2 beta universal links open my app and safari), but it might have reappeared?!
Anyone having the same issues or a way to fix it?
Sometimes universal links don't work on iOS 11.2 for newly installed apps.
The symptoms are that clicking on a universal link won't open an app that is newly installed on a phone. The universal link takes the user to a web page and is prompted to download the app again.
Through testing here at Branch HQ we've discovered that the Apple App Site Associated Domains file (apple-app-site-association file) isn't always downloaded after the app is installed, either when it's installed from the app store or from Xcode.
Removing the app, restarting the phone, re-installing the app, and waiting a minute or so seems to clear this up. This is a horrible user experience obviously.
We have filed a radar with Apple and will continue to track this issue.
Mitigations
Set $uri_redirect_mode
Setting the $uri_redirect_mode option on links can have Branch try to force the link to open the app, even if it might show an error to the user. You can read about this option here, in the Branch docs.
Here's more info about turning on $uri_redirect_mode in your Branch Journey or Deepview banner, the web snippet that Branch shows the user if the ends up deep linking into a web browser:
Advanced Journey Configuration
Deferred Deep Linking Mitigates This Problem
This issue is mitigated by Branch's deferred deep linking tech: If the user opens the app from their home screen after the universal link is clicked, deferred deep linking still works, and the link content is shown in the app.
As an addition to #clayjones94's Answer, I have been unable to get my iPad 2nd gen (iOS 12.1.1) to recover the ability to use Universal links after switching between release and debug targets.
Yesterday it suddenly started to work, but then after changing build-target, the universal link has again broken.
I've uninstalled, rebooted, installed, rebooted and so on.
I was, however able to test the functionality in a simulator, so for now, I would recommend attempting a fresh simulator to make sure your AASA file is correct on the server.
EDIT: if you have a proxy involved, that may also break the validation between the app and the website
I am trying to build deep linking feature into my app. I did all the necessary set up for deep linking to work like, enabling associated domains in my app, adding apple-app-site-association to the root directory of my server, and I am serving a valid apple-app-site-association over https, I also validated my apple-app-site-association using this tool Validate your apple-app-site-association.
After doing everything right, I tested the deep linking feature on my iPad and it worked as expected. But when I tried to do the same on my iPhone it doesn't work, it always took me to safari. I tried it on 6s device, I reinstalled the app, I cleared Safari website data & cleared the history. Also updated the iPhone & iPad to iOS 9.3.5. The updating the OS didn't change a thing.
iPad still continue to work with deeplink URLs just like it did while it was on 9.3.4. iPhone still opened the link in safari.
Please give me some pointers on how to workaround this issue, I think this might be an apple bug but again I don't understand how it can work on iPad which is running same software as iPhone. Any help or guidelines is much appreciated.
Thanks.
I was able to fix this issue and this is one of the annoying issue that I have come across, because it doesn't say what is going wrong.
Fix: Whenever the iOS opens your link in safari, you need to pull down the webpage in safari and there you'll see a banner saying that, open it in the app. Once you click on that banner your future links will start opening the app instead of opening it in the safari browser.
There was no error whatsoever and there was no indication why the link was getting opened I am pretty sure that, iOS didn't download the apple-app-site-association whenever I installed the app.
Also note that the banner in the webpage will not be visible whenever your link opens up in safari, you need to pull down the webpage and then the banner will become visible and if you click on open in app banner, it will start opening the links in app.
If in future if you select to view the link in safari by clicking on context menu which appears on right hand side of the status bar, which will be saying "Open in [your app name]" in safari, the links in future will open in safari instead of app, and again if the banner open in app isn't visible, you have to pull down the webpage to see that banner.
HTH.
In iOS 13, similar problem of direct links not opening the app instead it open the safari website directly.
Fixed by updated the below safari setting...
Settings > Safari > Request Desktop Website > All websites > Switch Off
I was facing the same issue in iOS 12, on one device the link redirected to my app and on another device it was always redirecting to Safari and pressing the link on the Notes app was only allowing me to open it on Safari.
What I believe happened was that I pasted the URL in the browser and clicked Go, as I thought it would redirect to my app. No matter what I did ( reinstalling the app, restarting the device, ... ) the results were always the same, redirecting to Safari.
What helped me was deleting the cached data for my domain ( Settings -> Safari -> Advanced -> Website Data -> Swipe and delete the data for your domain ).
After that, everything started working.
I believe this is a bug with iOS Simulator,
In my case it was occurred when I entered an invalid address (with multiple spaces) for example:
Valid One: myApp://order/10003101
Invalid One: myApp://order/1003131
It stopped working even with Valid One and the solution was to clear Safari Website Data:
Go to Settings/Safari -> Clear History and Webstie Data
Device: iPhone 12 Pro Max
iOS: 14.5
Xcode: 12.5
I tested the dynamic links Firebase. Configured everything in the project, the implementation did exactly like the Google documentation and created links on the console. When I test in Safari it does not open the application.
Thank you
iOS 9+
Due to the limitations on the iOS platform, Firebase Dynamic Links must rely on Apple's Universal Link system to open the app directly from a link when it is installed. One of the constraints placed on Universal Links is that the app-open behavior is only triggered from a user's click and not by a redirect or copy/paste into Safari.
We have found it very challenging to test Universal Links in the simulator and pretty much always use a real device for this type of thing. Basic steps: install app > SMS link to your test device > click link > observe app open.
iOS 8 and prior
iOS versions prior to 9 handle opening the app from a Dynamic Link through Safari, so if the app is not opening when you copy/paste the link into Safari then some setup is incomplete. Please review your Firebase project for information and confirm that your bundle IDs/custom schemes match on the project page, in your link, and in your app; be sure that the bundle ID is listed in URL Types in your Xcode project setup along with any custom scheme you wish to use.
Other Info
Here is a link to a prior answer that may be helpful as well.
Firebase dynamic link not opening the app iOS