如何正确测试通用链接?



我有几个关于通用链接实现的问题。我从SO/其他来源读了很多信息,但问题仍然存在。

首先,我想说我正确地配置了项目(添加了授权,添加了回调到AppDelegate),并正确地配置了我的团队id/bundle id的AASA(我有一个来自另一个服务的工作示例)。

Quiestion # 1。

根目录是否仍然是apple-app-site-association(进一步的AASA)文件的工作位置?我如何与SWCD核对它(应该是什么样的消息)?我发现下一个问题:我们的网站基于WordPress,这是一个有点问题(我不熟悉WordPress -只有我的同事的话)添加这个文件到.well-known目录。所以我的同事直接将AASA添加到根目录。但是,通用链接不起作用。我从设备日志中只发现了一条有意义的消息:(加载AASA文件失败)-

Request for '<private>' denied due to HTTP status 404 on route .wk for task AASA-1D53AE3E-9261-413F-B384-20D1DC57B81A { domain: ch….dk?mode=developer, bytes: 0, route: .wk }

似乎SWCD试图从不存在的.well-known目录加载文件(因为404错误),但我不明白是它试图从根目录加载文件。

另外,我试图通过验证器运行我的网站-它失败了。从这个源代码—使用根目录或.well-known目录没有区别—它们都应该工作。

好,让我们假设这个验证器是错误的。

问题# 2。

有可能100%找到问题的确切位置吗?(iOS或后端/站点端)

目前还不清楚https://search.developer.apple.com/appsearch-validation-tool是如何工作的。例如,我查看了facebook.com。

Results: Link to Application is passed. Universal = true.

我检查了instagram.com。

Results: Link to Application - no exact answer. Universal = false.

结果是相当模糊的。

无论如何,http://instagam.com/apple-app-site-association和http://facebook.com/apple-app-site-association都返回有效文件,我确信通用链接正在通过他们的iOS应用程序工作。

问题# 3。

我在Postman中检查了几个AASA文件。我注意到我的AASA文件不包含content-type头。Facebook、Instagram和其他网站的AASA文件都包含这个标题。它们都有不同的值,但是它们在响应中返回. 这是个问题吗?

# 4的问题。

还有其他想法吗?我将不胜感激。我认为我的问题是iOS系统不识别来自我网站的AASA文件。但我现在不知道如何解决它。

分支。io和Apple Validator是无用的。最好直接验证json。

使用iOS 13版本的"apple-app-site-association"文件。

{
"applinks": {
"apps": [],
"details": [
{
"appID": "ABC1234567.co.app.prod",
"paths": ["/first/*", "/second/*"]
},
{
"appID": "ABC1234567.com.app.dev",
"paths": ["/first/*", "/second/*"]
}
]
}
}

Apple CDN缓存" Apple -app-site-association"文件数据。测试时使用开发人员模式。

<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:example.com?mode=developer</string>
</array>

在开发者模式下app获取"apple-app-site-association"直接从您的站点获取数据。

要在开发人员模式下测试设备,请在settings中启用相关域->development…

上传"apple-app-site-association"文件头应该是content-type=application/json.

不要忘记在完成测试后禁用开发者模式。

最新更新