Windows11下Chrome中navigator.getInstalledRelatedApps()返回空数组问题
一、接口核心配置要求
1. manifest.json 中 related_applications 字段规则
- 针对已安装的PWA,
related_applications条目必须满足:platform字段固定为"webapp",否则Chrome会忽略该关联项。url属性必须匹配PWA的**根作用域(scope)**或与start_url保持一致。你遇到的问题本质是原url路径未命中应用实际安装的作用域,改为"/"(根路径)后匹配了应用的根作用域,因此接口能正确识别已安装应用。- 示例有效配置:
"related_applications": [ { "platform": "webapp", "url": "/" } ]
2. 调用环境限制
- 必须在HTTPS协议下调用(localhost开发环境除外),这是Chrome对PWA相关API的安全约束。
- 调用代码需触发于用户交互上下文(比如按钮点击回调),不能在页面加载时直接执行,否则会被浏览器安全策略拦截。
二、assetlinks.json 是否为必要配置
- 仅在原生应用与Web应用跨平台关联的场景下需要配置assetlinks.json,用于验证双方的归属权(比如让Android应用关联到对应PWA,或反之)。
- 纯Web应用(PWA)自身调用
navigator.getInstalledRelatedApps()检查是否安装的场景,完全不需要配置assetlinks.json。
内容的提问来源于stack exchange,提问作者Simon Ferndriger
相关产品推荐
相关产品推荐

