You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何从Play商店安装的PWA为链接形式,Chrome安装则为原生应用?

问题排查方案

针对你遇到的Play商店安装的PWA以浏览器会话打开,而Chrome直接安装的PWA正常的问题,核心原因大概率是Play商店提交的是「网站链接」类型应用,而非标准的Trusted Web Activity(TWA),或者TWA的配置存在疏漏,以下是具体排查点:

1. 确认Play商店提交的应用类型

如果你在Play Console中选择的是「网站链接」(而非上传Android App Bundle/AAB),那么这个“应用”本质就是一个浏览器快捷方式,打开时会直接调用系统浏览器并显示地址栏,完全不符合TWA的原生体验。必须通过Android Studio生成标准的TWA项目,打包成AAB后提交到Play商店。

2. 验证Digital Asset Links的一致性

虽然你已放置assetlinks.json,但需确保:

  • 文件中的SHA-256指纹与Play商店应用的发布签名证书完全匹配(debug签名和release签名是不同的,测试时如果用debug包,要对应更新assetlinks)。
  • assetlinks.json的路径正确:https://www.oubil.com/.well-known/assetlinks.json,且返回的Content-Type是application/json,没有被服务器重定向或拦截。
  • 文件内容格式正确,示例如下:
    [
      {
        "relation": ["delegate_permission/common.handle_all_urls"],
        "target": {
          "namespace": "android_app",
          "package_name": "你的TWA应用包名",
          "sha256_cert_fingerprints": ["你的发布证书SHA-256指纹"]
        }
      }
    ]
    

3. 检查TWA的Android配置

生成TWA项目时,AndroidManifest.xml中需确保以下配置:

  • 启动Activity指定为TWA的LauncherActivity:
    <activity
        android:name="android.support.customtabs.trusted.LauncherActivity"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <meta-data
            android:name="android.support.customtabs.trusted.DEFAULT_URL"
            android:value="https://www.oubil.com" />
    </activity>
    
  • 配置主题隐藏地址栏:
    <style name="LaunchTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowActionBar">false</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>
    

4. 确认Web Manifest的关键字段

虽然Lighthouse验证通过,但TWA对Web Manifest有额外要求:

  • start_url必须是绝对路径,且与TWA配置中的DEFAULT_URL完全一致,避免因路径不匹配导致跳转到浏览器。
  • scope字段需覆盖所有应用内页面,确保用户在应用内导航时不会跳出到浏览器,示例:
    "scope": "/",
    "start_url": "/"
    
  • 确保display: standalone没有被其他配置覆盖,比如某些浏览器的兼容性设置。

5. 缓存与版本更新问题

如果近期修改过assetlinks.json或Web Manifest,Play商店的已发布应用可能缓存了旧配置,需:

  • 提交新版本的AAB到Play商店,使用内部测试轨道快速验证。
  • 在测试设备上卸载旧应用,重新安装测试版本,确保新配置生效。

内容的提问来源于stack exchange,提问作者Xavi Xenz Galle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:52:36