I've posted some article at facebook that links my app.
When I clicked link at the facebook in-app browser,
I excepted launch my app, but go to app store. Altough my app is installed.
I tried some meta tags like these:
<meta property="al:ios:url" content="testApp://" />
<meta property="al:ios:app_store_id" content="123456" />
<meta property="al:ios:app_name" content="testApp" />
<meta property="al:web:should_fallback" content="false" />
and
if (/Android|iPhone|iPad|iPod/i.test(navigator.userAgent)) {
window.location = app;
window.setTimeout(function() {
window.location = mobileFallback;
}, 25);
} else {
window.location = desktopFallback;
}
I can't figure out at all..
This issue only appeared in iOS 9.x AFAIK.
The app link works well iOS under 9 and safari.
I found some app that works well in facebook in-app browser(i.e whatsapp).
Is this native app problem? or client-side problem?
What am I missing?
Any opinion would be appreciated.
TIA.
Edit
There is an active bug report open for this https://developers.facebook.com/bugs/802238099898150/
As far as I understand, iOS 9 changed the way apps can interact with other Apps using custom URL schemes (Read more here). The basic idea is that Facebook can no longer intelligently open other apps using a custom scheme as they have to register all the schemes they support inside the App plist.
I have tested AppLinks with YouTube, 9GAG, Flipboard and IMdB and none of them work as they used to. The advertised behaviour (found here) is that your App will be opened if your link contains the relevant html app links tags.
Now the only way to open your app is to tap "Share" in the Facebook browser of the page you want to open, and you should see a "Open in 9GAG" line item that will open your app.
Related
It was working before as it should be: Clicking on my website url from facebook native app (shared post) redirects to the App store when my native app is not installed. If my native app is installed, it opens the url in my app.
I have all the required meta as well as this one:
<meta property="al:web:should_fallback" content="false" />
Suddenly, redirecting to the app store when my native app is not installed stopped working.
Does Facebook no longer support al:web:should_fallback meta tag?
Everything was working fine!
I want to let you know that the issue is now fixed. It was a bug on Facebook object platform. I submitted a bug report on the Facebook bug tracker and they reproduced the problem and fixed it.
In my iphone application , i have a reqiurement post to facebook.When i click the same post from Facebook the host app should come up.When i searched here https://developers.facebook.com/docs/applinks/ios it requires some metadata to be added in my file. So i did it.
<meta property="al:ios:url" content="schemename://" />
<meta property="al:ios:app_store_id" content="app store id" />
<meta property="al:ios:app_name" content="Example App" />
<!-- Other headers -->
But it neither opening my app nor redirecting to itunes.
Please suggest me what i did wrong here??
There is also another work around to this. I discovered it by reverse engineering how Spotify manages deep linking. To see this - share a Spotify playlist on your feed. The Facebook iOS app will launch directly into the Spotify iOS app from the shared playlist.
Long story short - Facebook have enable this for Spotify. If you put this meta tag in:
<meta property="fb:app_id" content="174829003346">
then your deep links will magically work (that's the Spotify facebook app ID). I'm still trying to establish if this is due to a misconfigured app or if we're looking at a potential anti-trust case.
By the way - this isn't a workable solution. If your app (and thus URL scheme) isn't installed, the Spotify app will open in its place. It is, however, very interesting behaviour.
This is expected behavior in 2017.
The al:ios:url tag you are using is supposed to do this. Unfortunately, the functionality has been broken for over a year on iOS, and it is a known issue that Facebook has essentially written off as wontfix.
Facebook will now only deep link on iOS if al:web:should_fallback is set to false. This means if your app is not installed, the user will always be taken to the App Store page rather than your own website, even if you have specified al:web:url. Most savvy brands do not want a new user’s first experience to be the App or Play Store page and they are also not willing to sacrifice attribution data. Because of this, al:web:should_fallback is now almost universally set to false, which means there is currently no workable way to launch a third-party app directly from the newsfeed in the iOS Facebook app.
Things still work correctly in the Android Facebook app, but obviously this could change at any time. It's unfortunate Facebook hasn't been more transparent about the change to the iOS version, because there is quite a bit of confusion about it.
You can read more about details behind this issue here.
But there is a workaround.
Services like Branch.io (full disclosure: I am on the team) get around this by implementing a judicious combination of App Links, URI schemes, and iOS Universal Links. Essentially what you need to do is open a page in the webview and then have a button or other user-driven CTA event that launches the app from there. It's an extra step for the user, but currently the best workaround. If you just want to be able to post a link that goes into your app when it is installed and otherwise goes to a webpage (or the App/Play Store), then Branch links are definitely your simplest solution.
Branch link routing logic
I'm trying to implement the new AppLinks API for my Application to route the Facebook-Users to my mobile App.
I've set up the meta correctly, but the Facebook App opens always the URL within the internal Web-Browser (but it shows then at the top right, but that a normal User wouldn't know for what it stands for and wouldn't klick on it).
<meta property="al:web:should_fallback" content="true" />
But if I set the should_fallback to false, the Post is opened directly in the App - But then the Fallback to the WebApp doesn't work anymore.
<meta property="al:web:should_fallback" content="true" />
So Facebook doesn't implemented the AppLinks implementation correctly (so that it doesn't make sense) or did I forget something?
Facebook Documentation
PS: On Android it works correctly: After clicking on a Applink it opens directly my native App, and if the App is not installed then it opens the normal Web-Page
For the Pinterest iOS App this way also doesn't work - but there the Implementation is better than it is in Facebook - There a Infobox is shown to the User:
Does it exist a better solution for iOS or have I to wait until Facebook is investigating into this (if they do)?
I am not sure my comment will be useful but we met similar situation. At same time while we tried to solve issue with fall back we found that everything works well for Instagram. We compared our metatags and found that we have only one difference. It is additional metatag fb:app_id. We added it to the page and magic happened. When app is installed then fb suggest to open it. When it is not installed it does redirect to web url (og:url).
I am trying to implement deep linking in my ios app. Whenever i post a link through FB app, the link will be the page i have create with all the meta tags set up properly. The only problem is when i click on the link in FB app, it just open a web page and there is a button on top of the page, on click of which it takes me to my app. I want that my app should open directly when i click on link on FB app.
HTML File :http://50.62.166.231:84/mpulse/services/DeepLinkingPages/DeepTest.html
All meta tags are there set up.
Also attaching the screen shot of the page which open when i click on my share from fb app.
http://s17.postimg.org/fuly4wyov/IMG_0530.png
I am unable to view your HTML file however I guess you have run into the same problem as I have.
It seems Facebook has their own take on how App Links should be handled as is shown here: App Links on iOS
Basically they've add this "Mobile Only" check that appears to look for "al:web:should_fallback" set to "false". If that is the case it will then immediately open your app or go to the app store if it is not installed on the device.
They fail to mention this in the documentation and it sure doesn't seem to be following the spec as I would have thought the intention of a web fallback would be used in the case where the app wasn't installed. If I click on a twitter post on facebook why would I want to go to web view of twitter if the app is installed? My guess is it was done this way to try to keep people in the Facebook app and/or as a way to support their App links hosting service
Anyway, add the following to your meta data and it will probably do what you want:
<meta property="al:web:should_fallback" content="false" />
I know this question is a bit old but adding these lines of meta data worked for me:
<meta property="al:web:should_fallback" content="false" />
<meta property="al:ios:url" content="<appScheme>://" />
<meta property="al:ios:app_store_id" content="123456" />
<meta property="al:ios:app_name" content="Example App" />
<meta property="al:android:url" content="<appScheme>://">
<meta property="al:android:package" content="com.yourapppackage.yourapppackage">
<meta property="al:android:app_name" content="Example App">
You can read more on Facebook's Documentation
You can also test and debug your meta data with Facebook's Sharing Debugger
I am wondering how this site detected that I have their iOS app installed when I visited their web site on my phone.
http://drafthouse.com/austin
Sites can implement Safari Smart App Banners. See Apple's documentation for details:
Promoting Apps with Smart App Banners
It is done via something like this:
<meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL">
These are called Smart App Bannners and are a feature of MobileSafari on iOS 6. You can add these using literally one line of HTML code (a <meta> tag, see the linked docs).