At its F8 developer conference, Facebook announced App Links, an open, cross-platform solution for app-to-app linking aiming at making it easier for developers to link to other applications from their own apps. Besides Facebook, many companies have announced their support for App Links, including Parse, Dropbox, and Spotify. Android, iOS, and Windows Phone are currently supported.
The problem that App Links aims to solve, says Facebook, is establishing an easy and consistent way to control what happens when someone clicks on some content in mobile apps or mobile web. This entails finding out when it is appropriate to send people out of that app and directly into another, as well as how to do it. On iOS, which does not support the concept of a built-in back button, as Android and Windows Phone do, App Links also provides support for a way for users to return to the first app they used to open the other.
The App Link specification defines a set of HTML meta tags that allow to provide enough context for App Links on each target platform, .e.g:
<meta property="al:ios:url" content="applinks://docs" /> <meta property="al:ios:app_store_id" content="12345" /> <meta property="al:ios:app_name" content="App Links" /> <meta property="al:android:url" content="applinks://docs" /> <meta property="al:android:app_name" content="App Links" /> <meta property="al:android:package" content="org.applinks" /> <meta property="al:web:url" content="http://applinks.org/documentation" />
Based on those data, the App Link Navigation Protocol defines a common approach to create a URL (iOS and Windows Phone) or intent (Android) to follow. Facebook provides a reference implementation for the App Link Navigation Protocol within the Bolts library.
App Links may use Facebook Index API that allows to check if any URL can be deep-linked without ever needing to parse HTML tags, and a Parse App Link Cloud Code Module providing a simple way to publish web content with App Link metadata for mobile-only apps.
App-to-app linking is not new, but it is not an easy feature for developers to support, says Christina Warren reporting from Mashable: each platform has its own way to deep-link apps (e.g. a URL on iOS, Windows Phone, or the Web, or an intent on Android), and it's up to individual apps to support the specific deep-linking scheme and to manage an index that tells a link what app to open.
David Barnard, maker of popular iOS URL scheme-based app launcher Launch Center Pro, interviewed by Mac Stories' Federico Viticci, says that App Links is not too different from what Apple is doing with Safari and Smart App Banners, but Facebook is doing it across platforms and native apps and is providing code to make it easier for developers to support it.