具有第二级子域的 iOS 通用链接不会深层链接到本机应用程序,但在第一级子域(同一主机)上深层链接正常

2023-11-26

我的应用程序中有包含多个 applink: 条目的功能,如下所示:

applinks:firstlevel.domain.com
applinks:second.level.domain.com

第一级子域上的通用链接工作正常并打开应用程序。 第二级子域上的通用链接不会打开应用程序(转到 safari)。我现在的怀疑是因为复合(两部分)子域。

apple-app-site-association 文件是两者完全相同,并且可以从两者托管和下载。 这两个 URL 都可以从我们的内部网络访问,并且位于相同的域和 TLD 上。 SSL 配置正确。没有发生重定向(通过 Chrome 开发工具验证)

各自分别苹果应用程序站点关联文件托管在适当的子域下(而不是在domain.com 的根目录下)。但是URL 1 和 2 中的两个子域使用相同的顶级域.

二级子域可能是问题所在,还是其他网络配置差异更可能是问题所在?我无法在网上找到说明通用链接是否支持多个子域的信息。

更新:尝试删除 applinks:firstlevel.domain.com 条目,以确保两个子域对于相同的捆绑包 ID(和站点关联)不会发生冲突。这没有什么区别。二级子域仍然没有深层链接。

关于如何诊断为什么第二个 URL 无法在应用程序中作为深度链接打开的任何建议?

使用通配符或将 apple-app-site-association 文件上传到域的根目录也是不合适的,因为那是生产环境,不应该有任何较低的环境设置。

这是我们的 apple-app-site-association 文件:

{
    'webcredentials': {
        'apps': ['ourteamid.ca.ourdomain.ourname']
    },
    'applinks': {
        'apps': [],
        'details': [{
            'appID': 'ourteamid.com.ourdomain.ourname1.ourname2',
            'paths': ['r/samplepath/*', 'en/r/samplepath/*', 
'fr/r/samplepath/*']
        }]
    }
}

好的,找到解决方案了。这是 apple-app-site-association 文件中的单引号(单引号不是有效的 JSON)。苹果的例子都使用双引号。

在某个时候,有人将其转换为单引号,并上传了文件,但我们没有捕获它。深层链接在文件中使用双引号可以正常工作,并且与二级域无关。

更新的关联文件:

    {
    "webcredentials": {
        "apps": ["ourteamid.ca.ourdomain.ourname"]
    },
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "ourteamid.com.ourdomain.ourname1.ourname2",
            "paths": ["r/samplepath/*", "en/r/samplepath/*", "fr/r/samplepath/*"]
        }]
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有第二级子域的 iOS 通用链接不会深层链接到本机应用程序,但在第一级子域(同一主机)上深层链接正常 的相关文章

随机推荐