同一域名下不同页面能否分别创建独立的TWA应用?
同域名多TWA不同落地页实现方案
以下是3种可直接落地的实现方案:
方案1:Android端配置差异化启动参数(最推荐)
该方案无需修改现有Web端资源,改动成本最低。TWA的启动优先级规则为:Android端显式指定的启动URL > Web Manifest中配置的start_url,你只需要调整第二个TWA的Android端配置即可:
- 打开第二个TWA项目的
AndroidManifest.xml,找到启动页对应的Activity声明节点 - 修改intent-filter的data属性,直接指定你需要的子页面路径作为启动路径
- 同域名场景下无需修改assetlinks.json验证配置,原有验证规则即可覆盖两个TWA
方案2:Web端动态返回差异化Manifest
如果不想调整Android端的默认打包逻辑,可以通过Web服务端路由规则实现不同TWA匹配不同的start_url:
- 给第二个TWA的启动路径增加专属标识参数,例如
?app_type=sub - 在Web服务端配置规则:当收到
manifest.json请求时,若请求来源URL携带上述专属参数,就返回包含子页面start_url的Manifest内容,否则返回原有根站Manifest即可
方案3:拆分独立Manifest文件
直接在Web服务器上存放两个独立Manifest文件即可,不会互相影响:
- 新建两个Manifest文件,分别命名为
/manifest-root.json(配置根站首页start_url)和/manifest-sub.json(配置子页面start_url) - 根站首页HTML引用
/manifest-root.json,子页面HTML引用/manifest-sub.json - 两个Manifest的
scope属性都配置为根域名/,保证同域名下的跳转都在TWA容器内打开
内容的提问来源于stack exchange,提问作者Code Hopper
相关产品推荐
相关产品推荐

