6
votes

I have a link that when clicked loads a dynamic webpage (which performs some operations on the server), and then redirect the user to an installed app. So far, opening the link in the following apps/browsers works fine:

  • Android's default browser;
  • Chrome - several versions
  • Twitter app

Something similar is also being done on iOS, and works fine.

The following does not work, no matter what I try:

  • Sharing the link on Facebook, and opening it from the Facebook App with Facebook's builtin browser on Android (on iOS this works fine). I get an error saying "Page can't be loaded".

What has been done/tried:

The app has the needed content filters and intent setup correctly, and the filters were set to handle both a custom protocol scheme ("example://") and HTTP ("http", "example.com") - one at a time and both at the same time.

Using App Links tags or Open Graph tags (as suggested by some FB literature) did not solve the problem.

Redirecting the user with an HTTP redirect, javascript or meta refresh tag does not work.

Using an HTML link and taping it does not work.

All of those methods work everywhere except when using the Android Facebook App's builtin browser.

(this was tested with several Android versions, 2.3, 4.4 and 5.0)

Is there any special syntax for this kind of links to work?

Thanks, Jean

1
did you figure this out? I am having the same issue with iOSluis
Eventually everything started to work, I suspect an update to the Facebook app did it - nothing else was changed. On iOS 9 none of this works though, I resorted to using a Smart Banner for a similar functionality.jeanreis

1 Answers

0
votes

Have you tried changing your site's redirect implementation?

https://developer.chrome.com/multidevice/android/intents

The functionality has changed slightly in Chrome for Android, versions 25 and later. It is no longer possible to launch an Android app by setting an iframe's src attribute. For example, navigating an iframe to a URI with a custom scheme such as paulsawesomeapp:// will not work even if the user has the appropriate app installed. Instead, you should implement a user gesture to launch the app via a custom scheme, or use the “intent:” syntax described in this article.