Upgrade process for Facebook deep linking in iOS and Android app? - android

I updated iOS and Android apps to use deep linking from Facebook posts as described here:
https://developers.facebook.com/docs/ios/app-links/
https://developers.facebook.com/docs/android/link-to-your-native-app/
Everything works fine for the new app. My problem is that many people will have the older version of the app that does not handle deep linking. Since I was using Facebook SDK login, the url schemes, etc were already set up.
The only solution I can think of is to wait for a month to give most people the opportunity to upgrade then enable deep linking in the app settings. This is far from ideal.
Has anyone else faced this problem and found a better solution?

Have you tested with old versions of your app, and does it crash?
For iOS, if you don't already have url handling logic setup (in your openURL method in the AppDelegate), it should just open your app, and do nothing else.
On Android, if your deeplink handling class is a new class (and does not exist in your old app), then the FB app won't deeplink if it cannot find that class on the device.

Related

Deeplink url takes to play store/app store but not opening app if installed

My deeplink url is redirecting me to the play store/ app store even the app is installed. But its working fine if open through slack, it opening the app from slack. But not working on facebook or chrome. Does someone knows the answer?
There are different behaviours between the different apps. Android Chrome for example works with intents and not URI scheme, Facebook usually doesn't like people leaving their app so some of the redirections are blocked.
For iOS you have different issues and different problems because Apple started blocking redirection to the app from advanced versions of iOS, unless you are using Universal links.
What I am trying to say is that I suggest using a 3rd party solution that can do all those workarounds for you.
Check https://www.appsflyer.com/product/one-link-deep-linking
- for more info

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 37.0.0.48.234 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. But, 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:
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.
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?
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?
Could it be the same issue on iOS SDK?
Look at this sad answer from FB:
https://stackoverflow.com/a/30617527/2707000
I had the same problem but using a different iOS device where open the link on FB app from the one that share the link lets it works!
ps: sometimes I needed to relaunch the FB app, probably in this way the app will re-pull the posts from the servers avoiding some sort of cache.
Cheers.

How to determine parameters for native apps for deep linking on iOS and Android

I am still new to custom URLs and deep linking, but I have not been able to find answers to what I'm looking for on other stackoverflow Q/As.
The context of my question is Android and iOS. My app is HTML5 in Sencha Touch, and uses plugins for native calls. So I need to figure this out for Android and iOS.
Here's the problem. Say I have a a document ID for an Evernote note, and I want my app to launch the Evernote app (assuming it's installed) and have that document open up, then how do I go about doing that? Specifically, how do I know what parameters and parameter names I need to pass to Evernote? Is there a way to "inspect" the Evernote app or do I need to get some official documentation from Evernote about what parameter names/values I can provide?
In my example above, we can replace that with something else as well. Say I have a file "doc.xls" that is in Google Drive. Assuming I have Google Drive app installed, how can I open the Google Drive app with "doc.xls" opened? How do I determine what parameters I need to (or can) pass while opening a native app?
I understand the idea of opening and launching other native apps; I have seen examples for Android and iOS but I cannot figure out how to determine the parameters - which is what my question is about.
Is there some general reading I should do on some particular topic to figure this out? Let me know if I can clarify anything about my question.
Thanks in advance for the help.
Mohammad
San Jose, CA
try this tutorial by sencha team
On the use of Custom Scheme URLs to launch App
http://docs.sencha.com/touch/2.1.1/#!/api/Ext.device.Device
you may also try the phonegap version.
https://github.com/EddyVerbruggen/Custom-URL-scheme
all the best Hope this is not too late..

Can you take the Facebook login connection on iOS/Android App and automatically log a user in when they hit Facebook on a mobile browser? [duplicate]

It's my first posting on here (although I've been using this site for reference for quite some time).
I've been trying for several days now to find or dream up a way to use Facebook's "Single Sign On" from within a mobile web app (not a native iOS or Android app) to automatically sign a user into a web app if they are already logged into Facebook from the native Facebook app on their mobile device for example.
My limited knowledge is telling me that it can't be done since the mobile browser and the 'system' (iOS for example) are too separated (I can't, I don't think, have my mobile web app use or access the native Facebook app on a mobile device in any way).
I have found and read the iOS, Android AND Mobile documentation provided by Facebook (https://developers.facebook.com/docs/guides/mobile/) which all seems to make enough sense, but after days of trawling through everything else I could find on the subject there doesn't seem to be a way to use, for example, the Facebook app on an iPhone or Android device to automatically log a user in to my web app if he/she is already logged into Facebook.
I've read lots about doing this from within 3rd party native apps and also other people trying to achieve a similar thing from within Desktop apps but I'm trying and hoping to be able to achieve this from a web app running within a mobile web browser.
I'd be very grateful for any help, opinions or pointers in the right direction since I think this would be an excellent step forward in UI for mobile web apps to have (not just the native apps).
Many thanks in advance...
Probably a bit late to the party but in case anyone else is wondering yes it's possible with Cordova/Phonegap and the Facebook Connect Plugin: https://github.com/davejohnson/phonegap-plugin-facebook-connect/
Using the FB.getLoginStatus() method at startup allows to check if the user is already signed in with the native Facebook App and retrieve its profile. More details in the examples provided in the repo.
I have not yet implemented it myself, but seems possible according to:
http://developers.facebook.com/docs/mobile/web/build/#login

"Native Android App" is enabled but Facebook mobile website users are always taken to Play Store even if they have my app installed

When configuring my Facebook app I have enabled "Native Android App" and within that enabled "Configured for Android SSO" and "Android Native Deep Linking".
My configuration and app code would appear to be correct because if an Android user has my app installed and follows a link to my app on Facebook via THE NATIVE FACEBOOK APP they are immediately directed to my application as expected. Great!
HOWEVER if an Android user who has my app installed DOES NOT have the NATIVE FACEBOOK APP installed and instead browses Facebook via the mobile website at http://m.facebook.com, when they follow a link to my app they are ALWAYS taken to the Play Store.
Is there anyway to solve this as this is a massive drawback as far as I'm concerned and makes the "Native Android App" option impractical and unusable.
Maybe this is the expected behaviour, perhaps Faceboook just assume that Facebook users are always using the native Facebook app?
I work at Facebook and I can help provide some insight in this. First off, this bug report might be of interest to you, because it is currently an issue that we're tracking on native deep linking not working on some posted URLs on Facebook.
In regards to your issue, there's a reason why it's called native deep linking. This feature is for users using the Facebook for Android app to fast-switch to your native app. This feature is strictly for native app -> native app linking. There is simply no way for a webpage on a browser to detect if an app is installed on the device you're using at the moment. That is why we always fallback to the play store due to technical limitations of the platform.
Let me know if that helps.

Categories

Resources