【问题标题】:Confused with IOS Deep linking对 IOS 深度链接感到困惑
【发布时间】:2015-04-16 05:29:59
【问题描述】:

我只想问这里是否有人知道为 IOS 应用创建深层链接的分步过程?我试图阅读一些文章,但它没有给我绝对的答案。谢谢:)

【问题讨论】:

  • 初读,究竟什么是深度链接。
  • 是的@WildFire 我已经阅读了很多关于它的内容。但我正在努力思考从哪里开始。我设置了一些 url 标识符和 url 方案,当我在 safari 上调用 url 时它会工作,它会引导我进入我的应用程序。但我不确定我的应用何时未安装。

标签: objective-c iphone facebook deep-linking


【解决方案1】:

深层链接基本上只是为您的应用设置 URL,以便其他应用可以使用信息启动它。如果您设置它可以启动到应用程序的某些部分,以便您的应用程序对某些 url 做出反应。因此,您必须做几件事。对于这个例子,我将使用两个应用程序。如果您尝试与现有应用程序集成,您只需找出他们的 url 方案是什么。因此,对于本示例,我将使用“消息”作为一个应用程序,将“计划”作为另一个应用程序。
首先:在“消息”应用程序中,我们需要设置我们的计划应用程序要调用的方案。

所以打开您的第一个应用程序,我们需要添加方案以便其他应用程序可以打开它。转到您的info.plist,点击小+并输入URL types,点击三角形展开并点击+,输入URL Schemes,在其中添加一个项目并将您的应用程序名称放入其中。同时添加URL identifier$(PRODUCT_BUNDLE_IDENTIFIER) 作为值。 `

然后我们只需要添加我们可以打开的应用程序,然后再次点击顶层 + 并添加 LSApplicationQueriesSchemes 这会将应用程序列入白名单,以便我们可以评估天气是否安装在设备上。

现在我们可以跳到另一个应用程序并创建一种调用它的方法。对于这个例子,当我们按下一个按钮时让它发生。

IBAction launchMessagesApp() {

  let url = NSURL(string: "Messages://") where UIApplication.sharedApplication().canOpenURL(url) {
    self.launchAppWithURL(url, name: "Messages")
    }

canOpenURL(url) 检查应用程序是否在设备上。如果您愿意,如果返回错误,您可以将应用商店启动到您的应用。然后launchAppWithURL 实际启动它。这是基本设置,您可能还希望发生多件事情,因此您可能有多个 url 方案启动同一个应用程序,但将其带到应用程序的不同部分。在函数中app的app delegate中

  func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
    print(url)
    //Any customizations for the app here  
}

你可以做任何你能想象到的事情。

【讨论】:

  • 我们可以使用任何名称来代替 Messages 吗?
  • 是的,你可以放任何东西。
【解决方案2】:

您检查过收费公路吗?它是一个开源工具,用于在 iOS 应用程序中启用深度链接。 http://urxtech.github.io/#GettingStarted

【讨论】:

    【解决方案3】:

    如果您想创建深层链接,您可能需要执行一些服务器代码来检测用户设备/浏览器并基于此执行一些操作。

    我创建了一个工具来简化这个过程,你可以在这里查看: http://www.uppurl.com/

    它主要是一个短链接工具,用于检查用户设备并根据他的设备为他提供正确的 URL。使用此工具,您无需编写任何服务器代码,它还可以处理不同的设备、操作系统和浏览器。

    【讨论】:

      猜你喜欢
      • 2018-10-28
      • 1970-01-01
      • 2020-06-23
      • 1970-01-01
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      相关资源
      最近更新 更多