Fra*_*ock 5 ios ios-universal-links
我的应用程序中有包含多个应用链接的功能:条目如下:
applinks:firstlevel.domain.com
applinks:second.level.domain.com
Run Code Online (Sandbox Code Playgroud)
一级子域上的通用链接工作正常并打开应用程序。二级子域上的通用链接不会打开应用程序(转到 safari)。我现在怀疑是因为复合(2 件)子域。
apple-app-site-association 文件在两者上完全相同,并且可以从两者托管和下载。这两个 URL 都可以从我们的内部网络中访问,并且位于相同的域和 TLD 中。SSL 配置正确。没有发生重定向(通过 chrome 开发工具验证)
每个相应的apple-app-site-association文件都托管在适当的子域下(不在 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/*']
}]
}
}
Run Code Online (Sandbox Code Playgroud)
好的,找到解决方案了。这是 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/*"]
}]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
936 次 |
| 最近记录: |