Facebook app breaks deep linking on Android

I have an Android application already set up for deep linking via Facebook. Deep links, in particular, work fine when sharing by the Facebook SDK, when the Facebook Android app is not installed on the device. However, deep links are broken when sharing happens through the Facebook Android app: in particular, the Intent that is fired when clicking on a deep linked post from within the Facebook app carries an URL that has http as its scheme instead of the custom scheme that is used in the al:android:url meta property of the web page that can be downloaded at the shared URL.

I am using Facebook app version and Facebook SDK 3.21.1.

Of course, everything worked fine… some weeks – or maybe months – ago. Yes, I know I am using an old SDK version. Instead of blindly updating the library, only to discover that it still does not work, I would like to make a slightly more informed decision about it. So, I’m asking the following:

  1. does a specific, documented, or at least advertised incompatibility exist between the SDK version I’m using and the latest Facebook Android app? It almost seems that the URL set by ShareDialogBuilder.setLink is not correctly processed or recognized by the Facebook app, and therefore used as it is, instead of triggering deep linking by means of the al:android:url meta property which the page at that URL contains.
  2. Does a specific, documented bug exist that prevents the latest Facebook Android app to process deep links as they used to be set up some time ago, that will hopefully be fixed in the future, so that application developers do not have to jump here and there trying to work around the problem?
  3. Does a workaround for this problem exist? And, if the workaround involves updating the Facebook SDK, which specific mechanism (a name of an attribute that the Facebook application expects to receive, or what else?) has unexpectedly changed (such as that attribute being renamed, e.g. from link to contentUrl, or whatever) in the last weeks/months?

Source: facebook

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.