apple-app-site-association 无法处理带有 # 字符的链接

Posted

技术标签:

【中文标题】apple-app-site-association 无法处理带有 # 字符的链接【英文标题】:apple-app-site-association can't handle links with # character 【发布时间】:2016-01-29 20:06:55 【问题描述】:

我正在尝试为应用程序设置限制性应用链接,但我们只希望特定链接路由到应用程序,其余链接直接在 Safari 中打开(无需通过)。

为了做到这一点,我使用了以下 json 文件。但是,它似乎对 https://domain.com/test 工作正常,但在 https://domain.com/#/test 上却失败了

如果我将“*”添加到路径列表中,它可以正常工作,但是我们会让一切通过,如果应用程序不支持该链接,则会产生糟糕的体验。

有没有人得到这样的工作?在我看来,苹果无法处理包含“#”字符的链接的路由,这似乎很奇怪。我们的网站在所有路由中都使用 # 字符,并且


    "applinks": 
        "apps": [],
        "details": [
            "appID": "TEAMID.BUNDLEID",
            "paths":[ "/test", "/*/test", "/*/test/*", "*/test/*" ]
        
    ]

【问题讨论】:

【参考方案1】:

我也面临同样的问题。这是因为 url 路由中包含 #

解决它的最佳方法是从每个 url 路由中删除 #

但是,如果您无法删除它。您必须使用* 作为路径列表。

在这种情况下,您可以通过优雅地回退到 Safari 来处理不受支持的路径。

应该是这样的。

如果用户点击支持的路径。 OtherApp->MyApp 如果用户点击不受支持的路径。 OtherApp->MyApp->Safari

【讨论】:

删除 # 并不是 Angular 的真正选项。我们最终创建了其他路由,这些路由在路径中使用 # 重定向到所需的 url 我认为通用链接不适用于重定向链接。

以上是关于apple-app-site-association 无法处理带有 # 字符的链接的主要内容,如果未能解决你的问题,请参考以下文章