【问题标题】:Deep link into iPhone app without custom scheme无需自定义方案即可深度链接到 iPhone 应用程序
【发布时间】:2016-04-11 19:57:08
【问题描述】:

有没有办法在没有自定义方案的情况下使用特定 URL 注册 iPhone 应用程序?我们希望人们能够发布这样的链接:

https://www.ourcompany.com/OurProduct/DeepLinks?param1=a&&param2=b

因此,如果从安装了我们的应用程序的 iOS 设备上单击链接,我们的应用程序将被打开并将 URL 传递给它,并且在从没有安装应用程序的设备上单击它的情况下有我们的应用程序,它会简单地在浏览器中打开链接。

理想情况下,我们可以检测用户代理是否是 iOS 设备,在这种情况下将它们重定向到应用商店。

【问题讨论】:

  • 是的,这可以通过通用深度链接实现。

标签: ios iphone deep-linking


【解决方案1】:

万能链接就是您想要的。不幸的是,它们只能在 iOS 9+ 上运行,即使在那时也不能在任何地方运行(see here 列表)。我与Branch.io 合作,我们的目标是帮助解决这个问题!

使用通用链接,当用户在大多数 情况下(iOS 9+,您的应用已安装,在支持通用的应用中打开链接)从您的网站(例如 https://www.ourcompany.com/OurProduct/DeepLinks?param1=a&&param2=b)打开链接时链接)您的应用程序将立即启动。然后,您可以解析传入的 URL 以确定要显示的应用内内容。

如果用户没有安装了您的应用,他们只会出现在您的网站上,您可以将其发送到 App Store。这里的问题是在他们下载应用程序并打开它之后,线索就丢失了。你无法知道他们在看什么产品。

Branch 可以帮助关闭这个循环。当没有您的应用程序的用户登陆您的网站时,他们将单击一个按钮来下载该应用程序。该按钮将“指纹”该用户,然后在安装后,Branch 将返回可用于立即显示正确内容的数据。您可以使用我们预先配置的Smart Banner 或构建your own solution

由于您的域中已有实时网站,Branch 无法自动为您配置 apple-app-site-association 授权文件。你需要自己处理这个。我们有一个指南here

【讨论】:

  • 感谢您的澄清。您是说我们可以通过通用链接实现深度链接并使用我们自己的域,而无需将 Branch 作为我们的 DNS 提供商,但是让我们的网站重定向到 Branch 以处理到 AppStore 的重定向,以便我们可以在第一次安装时访问深度链接参数?
  • 没错!实际发生的是您将创建一个新的域/子域(或从 Branch 分配一个)。您的主站点页面上的按钮将指向该单独域中的唯一 URL,所有重定向魔术都将在其中发生。这基本上是立即发生的,因此用户永远不会知道。
【解决方案2】:

你看过 branch.io 了吗? https://branch.io

它使您可以非常轻松地设置深层链接(不会让人头疼),并且据我所知,它可以满足您的要求。即它具有让您通过链接传递参数的能力,还可以指定如果用户单击设备上的链接,该设备安装/未安装应用程序或已在 Facebook 上共享或其他地方。

【讨论】:

  • 他们如何检测您的应用程序是否已安装?
  • 检测是在 iOS 上使用通用链接的一部分。在此处查看 Apple 的相关信息:developer.apple.com/library/ios/documentation/General/…
  • 如果它是 Universal Links 的一部分,为什么我们需要使用 branch.io?
  • Branch 添加了在未安装应用程序时链接到 App Store 的功能,通用深度链接不支持。
  • 来自 Branch.io 的 Alex 在这里:是的,您可以通过通用链接满足所有这些要求,而无需使用 Branch 服务,但它可能有点头痛。我们还为可​​能有用的链接添加了一些分析和内容跟踪功能。
猜你喜欢
  • 2015-09-22
  • 1970-01-01
  • 2016-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-10
  • 1970-01-01
  • 2022-12-29
相关资源
最近更新 更多