【发布时间】:2017-12-20 15:41:13
【问题描述】:
我有两种构建配置:App 和 App Stage。
每个配置都有不同的Associated Domains 配置:app.mydomain.com 和 app-stage.mydomain.com。
当然,每个网站都会公开不同的apple-app-site-association 文件:app.mydomain.com/apple-app-site-association 和 app-stage.mydomain.com/apple-app -site-association(HTTP 200,不带 .json 扩展名等)。
问题是只有第一个注册的域(不幸的是它是 Stage)才能正常工作。当我安装了这两个应用程序后,每个深层链接(app.mydomain.com/home 和 app-stage.mydomain.com/home)都会打开 App Stage。当我只安装了 App Sage 时,两个链接也会打开它。当我只安装了应用程序时,没有链接工作。 看起来Associated Domains 的子域被忽略了,并且只考虑了 mydomain.com。
我假设构建配置定义正确,因为我也在区分其他设置,如 Facebook、Google 和其他。
你有没有遇到过类似的问题? Associated Domains是否允许使用同一域的不同子域?
更新:
按照@clayjones94 的说明,我检查了每个应用程序是否使用 Charles Proxy 下载了正确的 JSON 文件。 我发现 App Stage 正在获取正确的文件,而 App 没有获取任何文件。
我还在 Charles 的 app-stage.mydomain.com/apple-app-site-association HTTP 请求中编辑了 URL,以确保 app.mydomain.com/apple- app-site-association 返回正确的 JSON。当我从 URL 中删除 -stage 并重复调用时,它获取了一个不同的 JSON 文件,因此我确认后端对于这两种配置都正常工作。
首先我认为我的构建配置不正确。所以我决定将 App 的 applinks:app.mydomain.com 关联域替换为 Stage 的 applinks:app-stage.mydomain.com 以查看 App 配置是否能够获取 App Stage 文件。它起作用了,应用程序已经下载了 App Stage 的 JSON 文件。同样,看起来Associated Domains 的子域被忽略了,并且只考虑了第一个注册的子域。
【问题讨论】:
-
您能否在您的服务器上查看您的访问日志以了解所请求的内容?
mydomain.com/apple-app-site-association提供什么服务吗? -
是的,它可以成功获取(HTTP 200),它看起来与阶段子域
apple-app-site-association文件几乎相同 - 只是捆绑标识符不同(两个应用程序在同一个团队中) .
标签: ios iphone deep-linking associated-domains