具有二级子域的iOS通用链接不';t深度链接到本机应用程序,但深度链接在一级子域(同一主机)上可以正常运行

具有二级子域的iOS通用链接不';t深度链接到本机应用程序,但深度链接在一级子域(同一主机)上可以正常运行,ios,ios-universal-links,Ios,Ios Universal Links,我的应用程序中有包含多个applinks的功能:条目如下: applinks:firstlevel.domain.com applinks:second.level.domain.com 第一级子域上的通用链接可以正常工作并打开应用程序。 第二级子域上的通用链接不会打开应用程序(转到safari)。我现在的怀疑是因为复合(2件式)子域 苹果应用程序站点关联文件在两者上完全相同,并且可以从两者托管和下载。 这两个URL都可以从我们的内部网络命中,并且位于同一个域和TLD上。SSL配置正确。没有发

我的应用程序中有包含多个applinks的功能:条目如下:

applinks:firstlevel.domain.com
applinks:second.level.domain.com
第一级子域上的通用链接可以正常工作并打开应用程序。 第二级子域上的通用链接不会打开应用程序(转到safari)。我现在的怀疑是因为复合(2件式)子域

苹果应用程序站点关联文件在两者上完全相同,并且可以从两者托管和下载。 这两个URL都可以从我们的内部网络命中,并且位于同一个域和TLD上。SSL配置正确。没有发生重定向(通过chrome开发工具验证)

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

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

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

关于如何诊断为什么第二个URL不能在应用程序中作为深度链接打开,有什么建议吗

使用通配符或将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应用程序站点关联文件中的单引号(单引号不是有效的JSON)。苹果的例子都使用双引号

在某个时候,有人将其转换为单引号,并上传了该文件,但我们没有捕获它。deeplinks在文件中使用双引号时工作良好,与二级域无关

更新的关联文件:

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

同样的问题。你找到答案了吗?没有。我们被封锁了。嗯。。。发现我没有问题:)如果按住动态链接,iOS将询问此链接使用哪个应用程序。看来我第一次选择了Safari,下一次它总是用它打开的。尝试使用新设备进行测试。发现问题。关联文件中的单引号而不是双引号。。。。单引号在JSON中无效。