问题描述
我已经使用Android App Studio的App Links Assistant将我的URL映射到MainActivity.kt
,并且我可以单击电子邮件中的链接以在模拟器中打开我的应用程序。
精确声明的网址映射,例如https://myorg.com/open-in-app
,根据需要打开应用。
如果我通过实现HTTPS链接包装的电子邮件服务传递电子邮件,则必须使用子域。因此,例如,包装的链接可能看起来像
https://track.myorg.com/open-in-app/xyzzy
在iOS / Xcode中,我可以为给定应用设置多个域关联,并为here中所述的子域设置通配符。 iOS从子域的或组织域的apple-app-site-association
路径获取/.well-kNown
文件。 Apple建议在第一个实例here中使用组织域,这对于在多个子域上支持同一应用非常方便。
注意:在子域上托管assetlinks.json
文件是可能,但是这样做比较复杂(例如,使用CDN)。 https://track.myorg.com
通常映射到电子邮件服务,该服务将重定向到登录页面。对于未使用该应用程序的所有人,该链接将在其浏览器中打开。
在Android中,是否存在等效项,即将assetlinks.json
文件托管在组织域中的某个位置上,并且仍然深链接到具有子域的URL?
解决方法
在Android Studio模拟器(设备Pixel 2,Android API级别30)上进行测试。
assetlinks.json
文件可以从链接的组织域或链接的实际(子域)中选取。
子域还可以通过301重定向工作,这对于某些CDN(例如CloudFlare)是必需的。其他人(例如AWS CloudFront)可以直接托管文件。
另请参阅:this article