您需要了解的有关移动深层链接的所有信息

已发表: 2017-02-14

目录

说到深度链接,没有多少人知道它是什么。 它是科技界的无名英雄。 然而人们每天都在使用它而没有意识到它的存在,或者可能不知道它有一个名字。 在这篇文章中,您将获得一些关于什么是深度链接以及它如何在移动设备上应用的基本概念。

什么是深层链接?

深度链接是一种通过链接启动本机移动应用程序的方法。

深层链接正如它所说的那样:通过链接将用户深入到网站/应用程序中。 在桌面上,深度链接是使用超链接链接到网站内的特定内容(例如,“http://example.com/path/page”),而不是网站的主页(例如,“http:/ /example.com/”)。 在移动设备上,深度链接使用统一资源标识符(URI) 链接到移动应用程序中的特定位置,而不仅仅是启动应用程序。 在本系列中,我们只关注移动深度链接。

因此,您正在手机上浏览互联网。 您在 Google 上搜索“Facebook”,第一个结果指向 Facebook 的主页。 您点击该链接,您的手机上的 Facebook 应用程序不会被重定向到 Facebook 的主页,而是会打开。 这基本上就是移动深度链接的工作原理。

移动深层链接

为移动应用程序启用深度链接将允许您调用深度链接以打开应用程序并在应用程序中启动特定的、定义的屏幕,例如主页、产品页面和购物车,就像在网站上一样。
深度链接对于促销活动特别有用,因为它允许您和任何第三方在单击链接时打开应用程序,而不是开车到网站或您的应用程序在 iOS App Store 或 Google Play 上的列表。

3种深度链接

1. 传统深度链接

传统深度链接

只要在打开链接时已经安装了应用程序,传统的深层链接就可以将用户引导至应用程序内容。 这意味着如果用户没有应用程序,传统的深层链接将不起作用,并且会显示错误或后备页面。

2.延迟深层链接

延迟深层链接

即使在打开链接时未安装应用程序,延迟的深层链接也可以将用户路由到内容。 该链接将首先重定向到 App Store 或 Play Store 以下载应用程序,然后在首次启动后立即将用户带到特定的“延迟”内容。

3. 上下文深层链接

上下文深层链接具有延迟深层链接的所有功能,以及更多功能。 上下文深层链接存储有关用户想去哪里、点击链接的位置、最初共享链接的人以及几乎无限量的自定义数据的信息。

上下文链接为应用程序开发人员和用户增加了价值。 应用程序开发人员可以构建强大的功能,而不仅仅是简单的内容链接,包括个性化的欢迎(如果您的朋友与您分享项目,您会在应用程序中看到他们的推荐)和推荐计划。 应用程序用户受益,因为应用程序可以提供更好的体验和更相关的信息。

URI 方案

自定义 URI 方案是移动应用程序深度链接的原始形式。 它们就像为您的应用程序创建一个“私人互联网”,链接看起来像myapp://path/to/content 。 自定义 URI 方案的优点是它们易于设置,并且大多数应用程序已经有了。 缺点是用户的设备只有在已经安装了相应的应用程序的情况下才知道这个“私人互联网”,并且默认情况下没有优雅的回退选项。

使用 URI 方案进行深度链接的解决方法涉及使用传统的http://链接来启动 Web 浏览器。 此链接包含指向自定义 URI 方案的 JavaScript 重定向,由 Web 浏览器执行以启动应用程序。 如果由于未安装应用程序而导致重定向尝试失败,则 JavaScript 会将用户带到 App Store 或 Play Store。

这仍然是 Android 上深度链接的主要方法,但Apple 于 2015 年随着 Universal Links 的发布开始在 iOS 上阻止这种方法

Apple iOS 通用链接

Apple 在 iOS 9 中引入了通用链接,作为自定义 URI 方案深度链接缺乏优雅回退功能的解决方案。 通用链接是标准的 Web 链接 (http://mydomain.com),它指向网页和应用程序内的一段内容。 打开通用链接时,iOS 会检查是否有任何已安装的设备已注册到该域。 如果是这样,应用程序会立即启动,而无需加载网页。 如果没有,Web URL(可以是简单的重定向到 App Store)在 Safari 中加载。

对 Branch 平台上数千个应用的研究发现,Universal Links 将打开的转化率提高了 40%。

安卓链接

Google 将 App Links 构建为与 iOS Universal Links 等效的 Android,它们以非常相似的方式运行:一个标准的 Web 链接,它既指向网页也指向应用程序内的一段内容。 这会带来更流畅的用户体验,但由于每个版本的 Android 仍然完全支持自定义 URI 方案,因此应用链接的采用率非常低。

Facebook 应用程序链接

Facebook 在 2014 年创建了 App Links 作为开放标准,以解决 URI 方案深度链接的限制。 应用链接有两个主要组件:

  1. 添加到标准http://链接的网页目标的一组元标记。 这些标签指定原生应用内相应内容的自定义 URI 方案位置,以及在未安装应用时应发生的行为。
  2. 用于在支持打开链接的应用程序内部使用的路由引擎。 该引擎在打开之前检查应用链接标签的目标 URL,然后启动相应的应用或执行指定的回退行为。

http://applinks.org/documentation/

App Links 标准有一个严重的缺陷:它需要源应用程序和目标应用程序的工作。 虽然元标签组件得到了广泛采用,但路由引擎的唯一主要实现是在核心 Facebook 和 Messenger 应用程序中。

Facebook 现在更喜欢将用户留在其平台内,并已从除主要 Android 应用程序之外的所有地方删除了 App Links 路由引擎。 由于 Facebook 还阻止了 iOS 通用链接,因此无法通过 iOS 上的 Facebook 或 Messenger 打开第三方应用程序。 Branch 实施了一个解决方案来帮助解决这些限制。

深层链接结构

深层链接的功能很像网页上的传统超链接。 它由构成统一资源标识符 (URI) 的独立元素组成。 URI 包含所有信息,这些信息在被调用时会启动具有特定屏幕的移动应用程序。

在考虑深度链接结构时,最佳做法是实现一个具有唯一方案名称和路由参数(路径和查询字符串)的 URL,这些参数表示要在应用程序中执行的自定义操作。 除非您有非常特殊的需求,否则我们建议使用简单的 URL 结构,如下例所示:

 mobiledeeplinkingprojectdemo://path?query_string

其中mobiledeeplinkingprojectdemo是方案名称,路径和查询字符串是路由参数,用于进一步将用户路由到应用程序中的特定体验。

对于方案名称:

  • 选择方案名称时,必须为您的品牌选择一个唯一的名称,以避免不同应用程序之间的方案冲突
  • 目前没有中央机构来管理与方案名称的冲突
  • 最佳做法是让方案名称引用您的品牌(例如 mobiledeeplinkingprojectdemo)。 方案名称的另一种建议模式是使用反向域名表示法(例如 org.mobiledeeplinking),但这并未被广泛遵循

对于路由参数(路径和查询字符串):

  • 路由参数是可选的,但强烈推荐。 路由参数使您可以进一步控制将用户路由到应用程序的特定屏幕或传递其他参数
  • 查询字符串是可选的,如果您需要传递特定参数(例如产品 ID),可能会使用该查询字符串
  • 第三方可能会在路由参数中附加额外的元数据,因此您的应用程序必须能够处理此用例(第 2 部分中讨论的 iOS 和 Android 库对此进行了说明)
  • 如果移动应用有对应的网站,建议移动应用的路由参数语法与网站上的URL结构匹配

以下是 iOS 上流行应用的深度链接示例:

开发商深层链接——例如目的
推特推特://时间线打开 Twitter 应用程序并链接到用户的时间线
Facebook fb://个人资料打开 Facebook 应用程序并链接到用户的个人资料
喊叫喊叫:// 打开 Yelp 应用程序(注意:此示例不包含任何路由参数)

深度链接实施

无论您是否选择使用 MobileDeepLinking 库,实施深度链接都需要您:

  • 选择您将使用的 URI 方案,并在应用程序的清单中声明它(下面将详细讨论)。 如第 1 部分所述,方案名称对于您的应用程序必须是唯一的,否则可能会与其他应用程序发生冲突
  • 使用深层链接定义要启动的操作。 确保这些操作符合您选择的 URI 语法。 如第 1 部分所述,强烈建议使用 URL 语法(例如schemename://path?query_string

完成后,您可以开始实现将处理 URL 的路径和查询字符串部分的代码以启动预期的操作。

建议您使用 MobileDeepLinking 库,但如果您希望直接实现移动深度链接,高级流程如下 -

iOS

iOS 应用程序是独立的实体。 应用程序中只有一个入口点:AppDelegate。 当启动到您的应用的深层链接时,它将使用深层链接元数据调用 AppDelegate。

在提供所需体验的同时保持应用程序中的一致状态非常重要。 在任何应用程序状态下都可能随时触发深度链接,您有责任使应用程序保持稳定状态。

例如,这可能意味着允许用户返回您的应用程序的主屏幕。 为此,您必须推送适当的视图控制器以将用户发送到应用程序的所需部分,同时仍保持正确的视图层次结构。

当应用程序打开时,您可以恢复用于启动它的 URL,并根据您的需要进行处理。

您可以在此处找到有关 AppDelegate 的参考文档。

安卓

Android 应用程序由一组活动组成。 如果这样配置,这些活动中的每一个都可以被其他应用程序调用。 根据您的应用程序和深层链接的结构,您可以选择使用一个或多个中心端点。

在提供所需体验的同时保持应用程序中的一致状态非常重要。 Android Activity 将在当前上下文之上启动,您有责任确保维护适当的视图层次结构。 此外,在为用户加载 Activity 时,为 Activity 准备好必要的数据也很重要。

当应用程序打开时,您可以恢复用于启动它的 URL,并根据您的需要进行处理。

您可以在此处找到有关 Android 深度链接的参考文档。

用例

1. 将网络用户转化为应用用户

如果您在构建漂亮的原生应用程序之外还构建了一个出色的移动网站,但注意到您在原生应用程序中的转化率比在网络上更好,该怎么办。 在这种情况下,将移动网络用户转化为下载您的应用程序可能会促进您的业务发展。 虽然将它们从一个移动到另一个可能具有挑战性,但深度链接使其变得容易。 借助移动深度链接,您可以将用户从您的移动网站无缝过渡到您的应用程序中的等效内容。 而且由于链接在应用程序安装过程中仍然存在,即使是新用户也可以在您的移动网站上继续他们离开的地方,而不会错过任何一个节拍。

移动深度链接

2. 社交、电子邮件和短信活动

使用适用于任何平台的链接发送促销优惠。 当前和未来的用户可以兑换您的优惠,无论他们使用 iOS、Android 还是网络浏览器,也无论他们是否已经安装了您的应用程序。

移动深层链接

3. 用户间共享

让新用户安装您的应用程序的最有效方法之一是让您的用户与他们的朋友分享您的应用程序中的内容。 使用移动深度链接,您可以创建出色的用户对用户共享体验:从朋友那里收到内容推荐的用户可以单击链接并直接转到您应用中的共享内容,即使他们必须去App Store 或 Google Play Store 先安装您的应用程序。

深层链接

4. 真实世界的应用推广

使用 QR 码或条形码对物理显示器中的深层链接进行编码,以在活动和场所宣传您的应用程序。 用户可以使用手机摄像头扫描二维码/条形码并重定向到您的应用程序中的目标内容,或者如果他们没有安装您的应用程序,则会提示他们先安装您的应用程序。

深层链接

从营销人员的角度来看,以上 4 个用例只是深度链接如何帮助您的业务的一些示例。 当然,您还可以通过许多其他方式在应用中使用移动深度链接来提高销量和参与度。

结论

深度链接只是一种识别、定位和传输用户到应用程序中特定内容的方法。 虽然方便(且必要),但它们并没有那么革命性或令人兴奋。 深度链接的未来价值在于我们如何使用它们——它们之上有什么,以及它们将带来的新的消费者体验。

这将包括发现您拥有的应用程序的深层链接的新颖方法,通过可深层链接的相关内容和服务发现新应用程序,以及通过链接本身传输更多智能。 就像超链接一样,改变世界的不是机制,而是我们使用它们将网络连接在一起的方式。