在不受支持的应用程序中打开的通用链接是否完全丢失?

Universal Links opened in unsupported apps, are they completely lost?

我正在尝试在我的应用中实施分支营销 link。例如,我希望能够创建一个 link 来与用户共享,将他们路由到应用程序中的特定屏幕。我从 Branch 文档中注意到,对于某些应用程序,link 只会打开应用程序商店,而不是实际的应用程序(即使已安装)。我住在亚洲,感觉我们的大多数客户都希望通过不受支持的应用程序(例如 Line)分享 link。如果用户通过 link 被重定向到应用商店,然后点击“打开应用”,会发生什么? link 元数据丢失了吗?只有在邮件或便签等应用程序中打开 link 时,元数据才会保留吗?

通用链接有 some restrictions - 不是来自 Branch,而是来自 Apple 的实施。这些限制之一是无法从 SFSafariViewController.

打开通用链接

来自 Branch's docs,没有明确提及 Line,但可能会对其他流行的消息传递应用程序感兴趣。我自己没有 Line,但 Line 是在它自己的浏览器中启动网站还是在 Safari 应用程序中启动网站可能会给你一个线索。

Facebook Messenger - works conditionally

WeChat - works conditionally

Twitter - works conditionally

LinkedIn - works conditionally

Any app using SFSafariViewController - works conditionally

Alex 来自 Branch.io 这里:

Branch 文档中的

This list 给出了部分支持 Universal Links 的应用程序列表,但不幸的是它并不完整。我们已尽力涵盖最常见的应用程序。

线路正在使用自定义网络视图(不是 SFSafariViewController)。它不支持初始点击的通用链接,但这是 Branch 可以检测原始应用程序并执行一些自定义行为的边缘情况之一。对于 Line,我们会触发您应用的 URI 方案。这意味着您的用户在 Line 中单击分支 link 时看到的行为与通用链接相同,即使通用链接实际上并不是正在使用的协议。

如果您想处理 Branch 没有此类解决方法的其他应用程序,您可以尝试启用 deepviews feature。这将导致 link 打开带有按钮的内容预览以启动应用程序(如果未安装则转发到 App Store)。

当已安装该应用程序的用户单击 App Store 页面上的 打开 按钮时,所有元数据都会保留,并且它们仍然很深link编辑。 Branch 不知道(或不关心!)在用户单击 link 和应用程序启动之间发生了什么,因此这为您提供了很大的灵活性。