我一直在对 iOS 上的通用链接、切换和相关域进行大量研究。但是,许多文档确实深入探讨了与相关域相关的幕后实际发生的事情(好吧,我找不到文档)。
到目前为止,这是我的理解:
基于Universal Links、Hand off和Sharing web credentials 文档,当涉及到关联域时,我们具有以下格式:
<service>:<fully qualified domain>[:port number]
所以当使用通用链接时,服务是applinks
. 当使用 hand off 服务时activitycontinuation
。共享 Web 凭据时,该服务是webcredentials
.
每当下载应用程序时,apple-app-site-association
文件就会下载并存储在手机上,并保留注册表。例如,现在让我们使用通用链接。
假设我的应用在其关联的域部分注册:applinks:com.example
. 现在让我们说,当我在一封电子邮件中获得一个链接www.example.com
并按下它时,我假设手机上的操作系统首先检查applinks
设备上所有保存的注册表,并且因为给定的应用程序注册到com.example
它然后简单地路由注册com.example
关联域的给定应用的 URL 。
问题1:这种直觉正确吗?
如果是这种情况,作为开发人员,通过创建自己的 Web 服务,我看不到任何问题,即mySpecialService:<Some-Domain>
在我的apple-app-site-association
文件中有类似的内容:
{
"mySpecialService": {
"apps": [ "D3KQX62K1A.com.example.DemoApp",
"D3KQX62K1A.com.example.DemoAdminApp" ]
}
}
问题二:开发者可以创建自己的关联领域服务吗?还是 Apple 保留了相关的域服务?