我打算使用FBSDK中的应用链接邀请我通过电子邮件使用我的iOS应用。
我知道如果我的iOS应用程序安装在设备上,当我选择链接并处理URL中的邀请令牌时,它将被打开。
但是如果我的应用 未安装 怎么样?
用户从App Store安装后,我还可以处理邀请令牌吗?
希望任何曾经使用这种情况的人都可以帮助我。
答案 0 :(得分:1)
为什么你要做的事情不会以你想要的方式出现,有很多原因。让我们潜入......
Facebook在2014年创建了App Links,作为解决URI方案深层链接限制的开放标准。 App Links有两个主要组件:
http://
链接的网页目标的一组元标记。这些标记指定本机应用程序内相应内容的自定义URI方案位置,以及未安装应用程序时应发生的行为。App Links应该是改变世界的开源标准,使app-to-app深度链接变得简单和通用。不幸的是,Facebook已经决定他们实际上并不想要那个世界(对于他们来说,将用户留在Facebook应用程序中要好得多 - 如果你不相信我,请参阅即时文章),这意味着App Links标准基本上已经死了。 iOS Facebook应用程序不再支持它,Applinks.org现在甚至不是一个单独的网站。
即使它仍然受到Facebook的支持,App Links标准也有一个严重的缺陷:它需要原始和目标应用程序的工作。虽然meta标签组件得到了广泛采用,但路由引擎的唯一主要实现是在核心Facebook和Messenger应用程序中。
要根据需要运行,可以从电子邮件中的链接进行深层链接,路由引擎组件需要在可能点击链接的任何电子邮件应用中实现。对于像Apple的默认iOS Mail应用程序或Gmail应用程序这样的应用程序,永远不会发生。
延迟深层链接(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。
几乎所有的电子邮件链接都涉及某种点击跟踪,它总是作为链接包装重定向来实现。如果用户没有安装您的应用程序,那么这在技术上不是问题,但如果用户没有安装,Universal Links don't work with wrapped links。如果您自己构建它,则需要完全禁用电子邮件中的点击跟踪,或接受深层链接无法在那里工作。
App Links永远不是您需要的解决方案。像Branch.io这样的免费服务(完全披露:他们与我们合作非常棒)或Firebase动态链接就是您所需要的。这两种服务都支持延迟深度链接,Facebook或几乎任何电子邮件应用程序。分支是more powerful and offers far more features,与主要的电子邮件发件人合作,为deep linked email(当今市场上唯一的)提供解决方案。