是否可以将Facebook App Links与电子邮件一起使用并通过App Store安装?

时间:2017-06-05 10:10:38

标签: ios facebook deep-linking applinks

我打算使用FBSDK中的应用链接邀请我通过电子邮件使用我的iOS应用。

我知道如果我的iOS应用程序安装在设备上,当我选择链接并处理URL中的邀请令牌时,它将被打开。

但是如果我的应用 未安装 怎么样?

用户从App Store安装后,我还可以处理邀请令牌吗?

希望任何曾经使用这种情况的人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

为什么你要做的事情不会以你想要的方式出现,有很多原因。让我们潜入......

App链接不再起作用

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

  1. 要添加到标准http://链接的网页目标的一组元标记。这些标记指定本机应用程序内相应内容的自定义URI方案位置,以及未安装应用程序时应发生的行为。
  2. 用于支持打开链接的应用内部的路由引擎。此引擎在打开之前检查App Links标记的目标URL,然后启动相应的应用程序或执行指定的回退行为。
  3. App Links应该是改变世界的开源标准,使app-to-app深度链接变得简单和通用。不幸的是,Facebook已经决定他们实际上并不想要那个世界(对于他们来说,将用户留在Facebook应用程序中要好得多 - 如果你不相信我,请参阅即时文章),这意味着App Links标准基本上已经死了。 iOS Facebook应用程序不再支持它,Applinks.org现在甚至不是一个单独的网站。

    App Links不适用于电子邮件(或基本上除Facebook之外的任何应用程序)

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

    要根据需要运行,可以从电子邮件中的链接进行深层链接,路由引擎组件需要在可能点击链接的任何电子邮件应用中实现。对于像Apple的默认iOS Mail应用程序或Gmail应用程序这样的应用程序,永远不会发生。

    App Links对延迟深层链接

    没有任何有意义的支持

    延迟深层链接Deep Linking是指使用链接直接打开您的应用到特定内容,而Deferred表示即使该应用也能正常运行先未安装)需要远程服务器才能关闭循环。你可以build this yourself,但你真的不应该出于很多原因,其中最重要的是你有更重要的事情要做。您会注意到,两个App Links组件都没有包含删除服务器以通过安装保留链接数据,因此在核心App Links标准中从未正确支持延迟深层链接。 Facebook广告利用了FBSDK与App Links一起提供的延迟深度链接的部分支持,但这仅适用于在Facebook应用中点击链接/广告并且接收应用已集成FBSDK的情况。

    延迟深层链接无论如何都很难

    从App Links继续,延迟深度链接仍然很复杂。 URL方案不起作用,因为如果未安装应用程序, 总是失败并显示错误。苹果在iOS 9+中较新的Universal Links越来越接近,如果没有安装该应用程序,它们至少不会触发错误,但您仍然必须处理重定向用户从您的网站到App Store。使用Universal Links安装后,您无法将上下文传递到应用,因​​此您无法将用户发送到正确的项目,并且实际上不支持in a lot of places

    深入链接iOS上的电子邮件非常困难

    几乎所有的电子邮件链接都涉及某种点击跟踪,它总是作为链接包装重定向来实现。如果用户没有安装您的应用程序,那么这在技术上不是问题,但如果用户没有安装,Universal Links don't work with wrapped links。如果您自己构建它,则需要完全禁用电子邮件中的点击跟踪,或接受深层链接无法在那里工作。

    底线

    App Links永远不是您需要的解决方案。像Branch.io这样的免费服务(完全披露:他们与我们合作非常棒)或Firebase动态链接就是您所需要的。这两种服务都支持延迟深度链接,Facebook或几乎任何电子邮件应用程序。分支是more powerful and offers far more features,与主要的电子邮件发件人合作,为deep linked email(当今市场上唯一的)提供解决方案。