iOS 通用应用程序 link 可以支持使用同一域的多个应用程序吗?
Can iOS universal app link support multiple apps using the same domain?
背景:
为多个客户端构建普通应用程序。
具有不同包 ID 的相同代码库,即:
com.company.client1
com.company.client2
想要使用相同的通用应用程序支持所有客户端构建 link,即:
公司。com/app/path
试图将此添加到 'apple-app-site-association' 文件
'apple-app-site-association' 文件:
{"applinks": {"apps": [],"details": [
{"paths": ["/app/*"],"appID": "XXXXXXXXXX.com.company.client1"},
{"paths": ["/app/*"],"appID": "XXXXXXXXXX.com.company.client2"}]}
这是苹果的限制吗?
这是可能的。 Apple 对同一域中多个应用程序的通用链接没有限制。
您的 apple-app-site-association
格式似乎有误。您需要它看起来像这样:
{
"applinks": {
"apps": [ ],
"details": [
{
"appID": "XXXXXXXXXX.com.company.client1",
"paths": [
"/app/*"
]
},
{
"appID": "XXXXXXXXXX.com.company.client2",
"paths": [
"/app/*"
]
}
]
}
}
注意appID
和paths
键的顺序,最后关闭}
.
如果安装了多个应用程序,您也会 运行 遇到此设置的问题,因为它们都在注册相同的路径。您可能需要考虑为每个 ID 添加唯一 ID,例如 /app/client1/*
.
另一个重要说明是 Universal Links don't work in many situations so this is not a complete deep linking solution (despite Apple's wishful claims to the contrary). If you want a simpler deep linking approach that will easily handle a multi-app requirement like this, take a look at Branch.io(完全披露:我在 Branch 团队)。
背景:
为多个客户端构建普通应用程序。 具有不同包 ID 的相同代码库,即:
com.company.client1
com.company.client2
想要使用相同的通用应用程序支持所有客户端构建 link,即:
公司。com/app/path
试图将此添加到 'apple-app-site-association' 文件
'apple-app-site-association' 文件:
{"applinks": {"apps": [],"details": [
{"paths": ["/app/*"],"appID": "XXXXXXXXXX.com.company.client1"},
{"paths": ["/app/*"],"appID": "XXXXXXXXXX.com.company.client2"}]}
这是苹果的限制吗?
这是可能的。 Apple 对同一域中多个应用程序的通用链接没有限制。
您的 apple-app-site-association
格式似乎有误。您需要它看起来像这样:
{
"applinks": {
"apps": [ ],
"details": [
{
"appID": "XXXXXXXXXX.com.company.client1",
"paths": [
"/app/*"
]
},
{
"appID": "XXXXXXXXXX.com.company.client2",
"paths": [
"/app/*"
]
}
]
}
}
注意appID
和paths
键的顺序,最后关闭}
.
如果安装了多个应用程序,您也会 运行 遇到此设置的问题,因为它们都在注册相同的路径。您可能需要考虑为每个 ID 添加唯一 ID,例如 /app/client1/*
.
另一个重要说明是 Universal Links don't work in many situations so this is not a complete deep linking solution (despite Apple's wishful claims to the contrary). If you want a simpler deep linking approach that will easily handle a multi-app requirement like this, take a look at Branch.io(完全披露:我在 Branch 团队)。