【问题标题】:Universal links for iOS apps - how it works?iOS 应用程序的通用链接 - 它是如何工作的?
【发布时间】:2018-10-23 15:07:56
【问题描述】:
我不熟悉向 iOS 应用程序添加通用链接。我已经阅读了一些材料,但仍然有以下几个问题。任何指针将不胜感激!
Apple 何时会抓取我的域并检查 [domain]/apple-app-site-association 内容?我有一个新域,我想知道 Apple 的爬虫如何发现它?
在发布我的应用的第一个版本之前,在本地测试通用链接的推荐方法是什么?
无法对通用链接进行版本控制吗?例如,app 1.0 版本只支持\item 通用链接,但app 2.0 版本支持多一种架构\details。如果我在apple-app-site-association 中指定两个路径,那么当用户导航到\details 时,1.0 应用程序将中断。 (编辑:我注意到如果应用程序适当地将其设置为未处理,那么我们仍然可以退回到浏览器。)
谢谢!
【问题讨论】:
标签:
ios
deep-linking
ios-universal-links
【解决方案1】:
当设备下载应用程序时,它会查找权利文件以列出您的关联域。当它发现您的应用程序具有关联的域时,它将检查这些域的 aasa 并将其下载到设备上。 该应用的 aasa 只会在安装和更新时下载,因此您所做的更改不会影响您的所有应用。
对于测试,您可以将 AASA 托管在测试域或生产域中。这取决于您,但您必须记住在将其推送到生产环境时更新您的权利文件,以确保您配置了正确的域。每次重建应用程序时,它都应该重新下载 aasa,因此测试应该不会太困难。永远记住将链接粘贴到笔记中,而不是在 Safari 中输入。通用链接只有在被点击而不是输入时才有效。
对于您的示例,您应该确保在发布应用程序的确切时间发布新的 AASA。您可能应该使用单独的测试域来托管您的 AASA。您可以将这两个域都包含在您的权利中。
Branch 实际上已经内置了测试环境和 AASA 托管,如果您不想自己处理所有这些。在通用链接不起作用的情况下,它们还会利用 URI 方案。