我有一个支持通用链接的应用程序,它目前在应用程序商店中。
假设它支持域名www.example.com,因此可以通过此方便地打开通用链接。我们将在相关域中提供applinks:www.example.com。
现在说如果我想发布另一个应用程序,它也支持相同的域名。现在iOS将如何通过通用链接区分哪个应用程序打开..?
答案 0 :(得分:12)
为了在两个不同的应用上支持Universal Links
单个域,您需要在现有的apple-app-site-association
文件中进行更改,网址为:https:// {domain} / apple-app-site-association
对于单一应用程序支持,它看起来像这样
{
"applinks": {
"apps": [],
"details": [
{
"appID": "1234ABCDE.com.domain.myapp",
"paths": ["*"]
}
]
}
}
对于多应用程序支持,您需要在details
的{{1}} applinks
数组中再添加一个键值对。它看起来像这样
apple-app-site-association
{
"applinks": {
"apps": [],
"details": [
{
"appID": "1234ABCDE.com.domain.myApp",
"paths": ["*"]
},
{
"appID": "1234ABCDE.com.domain.mySecondApp",
"paths": ["*"]
},
{
"appID": "1234ABCDE.com.domain.myThirdApp",
"paths": ["*"]
}
]
}
}
文件的一般格式该文件如下所示:
apple-app-site-association
How to support Universal Links in iOS App and setup server for it?
答案 1 :(得分:2)
我找到了解决方案,但它非常简单。 我的问题是我的第一个应用程序通过声明支持所有页面
" *"在apple-app-site-association文件的路径部分。现在,我所要做的就是在我希望我的第二个应用程序处理的路径之前添加NOT。
喜欢" NOT / cabs"。如果这种方法有效,我还没有测试过它。我会在完成后立即发布更新。答案 2 :(得分:1)
Apple App Site Association文件示例
{
"applinks": {
"apps": [],
"details": [{
"appID": "D3KQX62K1A.com.example.photoapp",
"paths": ["/albums"]
},
{
"appID": "D3KQX62K1A.com.example.videoapp",
"paths": ["/videos"]
}]
}
}
重要:数组中字典的顺序决定了寻找匹配项时系统遵循的顺序。第一场比赛获胜,您可以指定一个应用程序处理网站内指定的路径,而指定另一个应用程序处理其余的路径。