【问题标题】:iOS Deep linking and Universal link, how to deep link in iosiOS 深度链接和通用链接,如何在 ios 中进行深度链接
【发布时间】:2016-03-02 11:15:13
【问题描述】:

我从 iOS 9 中了解到,引入了通用链接。请解释深层链接和通用链接之间的区别。 我的目标是,一个链接将通过邮件发送给客户。让邮件说有一个项目 A 的报价和一个链接。点击链接时

  1. 如果应用已安装,请打开应用并启动显示项目 A 的特定屏幕
  2. 如果未安装应用程序,请从 App Store 下载并打开它并启动显示项目 A 的特定屏幕

如果有用户登录功能呢?

如果应用已安装但用户未登录,则

  1. 打开应用
  2. 启动登录屏幕
  3. 登录成功后,启动特定屏幕,显示项目 A。

如何实现这些?如何为这些配置链接?

【问题讨论】:

    标签: ios objective-c iphone deep-linking ios-universal-links


    【解决方案1】:

    从 2015 年 12 月 8 日发布的 iOS 9.2 开始,Apple 已经为基于 URI 方案的重定向敲响了丧钟,这是过去七年的深度链接标准。他们认为通用链接是未来。

    之前为了使用URI方案,你必须手动处理应用程序未安装的情况。这样做的问题是,当应用程序未安装时,它会显示'无法打开页面' 错误。相信大家都看过了。这是深度链接的祸根。我们能够在iOS 7iOS 8中绕过它,但现在从iOS 9

    通过link获取更多详细信息

    【讨论】:

      【解决方案2】:

      为了澄清,“深层链接”只是简单的链接,当点击时,会导致您的应用直接打开内容。通用链接是深度链接的一种类型,与 URL 方案链接一样,但现在都不是一个完美的防弹解决方案,因此要涵盖所有边缘情况,您需要同时实现两者。

      幸运的是,Branch 可以在幕后处理所有这些复杂性,因此您不必担心!正如上面的答案中提到的,指南here 将帮助您启动并运行您所描述的实现!

      【讨论】:

      • @Agop 太多,无法在 StackOverflow 答案中列出(而且它们在不断变化)。您可以找到最新列表 here — 毫无根据地投反对票
      • 有两种简单的边缘情况。 #1:使用自己的网络视图而不是触发网络浏览器的应用程序。解决方案:使用在重定向到备用子域后显示相同链接的中间页面。又名分支中的深度视图。 #2:使用相同域的链接。解决方案:为深层链接使用备用子域。唯一的其他边缘情况特定于您的 Branch 服务:如果您使用具有完全自定义路径的公共 bnc.lt 域,则无法使用通用链接,因为无法提供正确的 apple-app-site-association 文件。
      【解决方案3】:

      我找到了一个可用的链接here。它提供了有关使用 Branch.io 进行深度链接的分步详细信息

      【讨论】:

        猜你喜欢
        • 2021-09-11
        • 2014-09-04
        • 1970-01-01
        • 1970-01-01
        • 2016-01-17
        • 1970-01-01
        • 2023-01-28
        • 1970-01-01
        • 2022-01-12
        相关资源
        最近更新 更多