Facebook 推出 App Links,简化应用程序间的深层链接

阅读数:2245 2014 年 5 月 12 日

话题:FacebookAndroidiOS语言 & 开发架构

F8 开发者大会上,Facebook 宣布了App Links,这是一个开放的、跨平台的 app-to-app 链接解决方案,旨在使开发人员可以更简单地从他们自己的应用程序链接到其它应用程序。除 Facebook 外,许多公司都已经宣布支持 App Links,包括 Parse、Dropbox 和 Spotify。目前,App Links 支持 Android、iOS 和 Windows Phone。

Facebook 宣称,App Links 要解决的问题是建立一种简单一致的方式来控制用户点击移动应用程序或移动网页上的某些内容时所引发的动作。这需要弄清楚何时使人们由那个应用程序直接进入另一个应用程序,以及如何做到这一点。iOS 不像 Android 和 Windows Phone 那样支持内置后退按钮的概念,因此在 iOS 上,App Links 还为用户提供了一种方式,使他们可以回到他们用于打开其它应用程序的第一个应用程序。

App Link 规范定义了一组 HTML 元标签,这可以在每个目标平台上为 App Links 提供足够的上下文信息,比如:

<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" />

根据这些数据,App Link 导航协议定义了一种创建后续 URL(iOS 和 Windows Phone)或者 intent(Android)的通用方法。Facebook 在Bolts 库中为 App Link 导航协议提供了一种参考实现。

App Links 可以使用Facebook Index API,后者允许开发人员检查任意 URL 是否不需要解析 HTML 标签就可以深层链接,它还可以使用Parse App Link Cloud Code Module提供一种使用只针对移动应用程序的 App Link 元数据发布网页内容的简单方式。

App-to-app 链接不是新事物,但开发人员要支持这项功能并不简单,Christina Warren 在 Mashable 网站上的报道中写道:每个平台都有自己的深层链接应用程序的方式(如 iOS、Windwos Phone 或 Web 上的 URL,或者 Android 上的 intent),而且支持特定深层链接方案以及管理索引——告诉一个链接打开什么应用——是由各个应用程序决定的。

David Barnard 是流行的、基于 iOS URL 方案的应用程序启动器Launch Center Pro的创建者,他在接受Mac Stories 的 Federico Viticci采访时说,App Links 与苹果用 Safari 和Smart App Banners所做的事没有很大的区别,但 Facebook 正在做的可以跨平台和本地应用程序,并且还提供了代码,使开发人员支持这项功能更简单。

查看英文原文:Facebook Launches App Links To Make Deep Linking Between Apps Easier