【问题标题】:Universal Linking iOS 9 - URL with a hashtag?通用链接 iOS 9 - 带有主题标签的 URL?
【发布时间】:2016-08-24 21:55:27
【问题描述】:

当网址中包含主题标签时,我似乎无法使通用链接正常工作?我该怎么办?我什至尝试将其转换为 %23.. 当我设置它时,其中没有标签的 URLS 可以正常工作。

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "MY_APP",
        "paths":["/%23MY_ROUTE"]
      }
    ]
  }
}

【问题讨论】:

  • 您可以尝试在"/?MY_ROUTE" 上进行匹配,这将接受任何字符来代替?
  • 我已将其替换为 "paths": ["/?MY_ROUTE"]..... 当我导航到 example.com/#MY_ROUTE 时,这似乎不起作用
  • # 符号用于 URL 中的锚点,因此在这种情况下通常不匹配。您尝试使用的完整 URL 是什么?
  • 通用链接会丢弃 # 之后的所有内容,因此无法匹配主题标签之后的 URL。一种解决方案是匹配所有内容,过滤掉应用程序中支持的路径以及在浏览器中打开的所有其他内容

标签: ios deep-linking universal


【解决方案1】:

为任何前来寻找解决方案的人添加解决方案。现在也可以支持带有标签(#)的 URL 的深度链接,这种情况的解决方案是使用与 URL 的任何其他部分匹配的模式。以下示例在混合组件时使用路径来匹配 URL,

对于像www.samplehost.com/#/p/something?id=12345 这样的网址

"/": "*/something*"

如果它是一个只有片段或路径的简单 URL,直接模式匹配就足够了。 Apple 的文档显示了一些简单的 URL 模式

https://developer.apple.com/documentation/Xcode/supporting-associated-domains

注意: 关联文件更改仅在安装期间映射到应用程序。在文件更新后的连续重新安装中,此文件更新将在一段时间内发生。

例如,第一次在域中更新关联文件并重新安装应用程序以检查新更改时,它将起作用。如果您对 JSON 文件进行重复更改并在同一时间范围内重新安装应用程序,您可能会获得一个缓存副本。当您发现一个工作模式新添加到 JSON 文件并且应用程序没有选择它时,您知道应用程序使用了一个缓存副本。在这种情况下,请稍后重新安装应用程序以验证新更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 2019-04-21
    • 1970-01-01
    • 2012-12-13
    • 2016-01-28
    • 2013-02-03
    • 2016-09-19
    相关资源
    最近更新 更多