通用链接仅打开基本URL

时间:2018-07-19 14:19:37

标签: ios objective-c ios-universal-links

是否可以在apple-app-site-association文件内的“ paths”数组中设置一个路径,该路径将仅打开应用程序中的原始域?

例如, 如果我的域名是 https://www.example.com

如果用户单击链接,我希望打开该应用程序 https://www.example.com

但不 https://www.example.com/a

1 个答案:

答案 0 :(得分:0)

我没有在下面测试解决方案,所以我不能保证它们会起作用。同时,它们都基于documentation,因此应该。我目前不希望为此花费时间来建立测试环境,所以如果您共享测试结果,那将是很好的。

我的第一个建议就是:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "%YOUR.APP.ID%",
        "paths": [
             "/"
        ]
      }
    ]
  }
}

如果这没有帮助,这是另一回事:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "%YOUR.APP.ID%",
        "paths": [
             "NOT /?*",
             "/*"
        ]
      }
    ]
  }
}

此处?匹配任何单个字符,而*匹配任何子字符串,包括空字符。在第二种情况下,想法是系统可能从上到下使用规则。

  

因为系统按照指定的顺序评估paths数组中的每个路径,并在找到正负匹配时停止评估,所以应在低优先级路径之前指定高优先级路径。   https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html?utm_source=revxblog

第三个想法是,首先排除所有您知道的顶级组件,然后添加允许全部。这可能确实令人不知所措,尤其是在您不控制路径或路径更改的情况下。