iOS通用应用链接可以支持使用相同域的多个应用吗?
背景:
-
为多个客户构建一个vanilla应用程序。 具有不同bundle ID的相同代码库,即:
com.company.client1
com.company.client2
-
想要使用相同的通用应用程序链接支持所有客户端构建,即:
company.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在Universal Links上没有任何限制。
您的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在许多情况下不起作用,因此这不是一个完整的深层连接解决方案(尽管Apple公司的一厢情愿相反)。 如果您想要一种更简单的深层链接方法,可以轻松处理这样的多应用程序需求,请查看Branch.io (完全披露:我在分支团队中)。