TWA - 数字资产链接正常但地址栏仍然可见
我开发了一个渐进式 Web 应用,并希望将其作为受信任的 Web 活动发布到 Play Store 中。 它是 https://www.bagnoadriatico.it
遵循本指南 https://developers.google.com/web/updates/2019/02/using-twa
我从 https://github.com/GoogleChromeLabs/svgomg-twa
我使用
def twaManifest = [
applicationId: 'com.simovinci.bagnoadriatico',
hostName: 'www.bagnoadriatico.it', // The domain being opened in the TWA.
launchUrl: '/mobile', // The start path for the TWA. Must be relative to the domain.
name: 'BagnoAdriatico di Casalborsetti', // The name shown on the Android Launcher.
themeColor: '#ff5c14', // The color used for the status bar.
backgroundColor: '#ffff00' // The color used for the splash screen background.
]
更改了配置
然后我签署了 apk,构建并在 Play 商店上发布。
在网站中我创建了关联通过数字资产链接 https://www.bagnoadriatico.it/.well-known/assetlinks.json “声明列表生成器和测试器”显示操作成功 “成功!主机 www.bagnoadriatico.it 授予应用程序深度链接到 com.simovinci.bagnoadriatico。” https://developers.google.com/digital-asset-links/tools/generator
地址栏仍然可见,我不知道为什么。
https://www.bagnoadriatico.it/mobile 返回 200 http 代码。 PWA 100% 通过 Lighthouse 验证。 密钥指纹正确
===========================================
我尝试设置 launchUrl = "/"(在我删除 302 到移动版本之前),但没有任何变化。地址栏仍然可见。
如果您使用了 Google Play 的应用签名,您的 SHA 256 会发生变化。解决方法是从 Play Store 下载您的应用,然后使用 Play Store 中的以下工具生成新的 assetlinks.json 文件:
https://play.google.com/store/apps/details?id=dev.conn.assetlinkstool&hl=en
assetlinks.json
文件实际上是错误的。它包含 Android 标记
和
Web 标记:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "web",
"site": "https://www.bagnoadriatico.it"
}
},{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : { "namespace": "android_app", "package_name": "com.simovinci.bagnoadriatico",
"sha256_cert_fingerprints": ["DA:E2:7C:57:8F:B8:28:ED:C0:00:70:7C:52:1F:95:8E:50:E6:A9:58:50:B0:FB:9A:F1:99:78:C9:D4:6B:72:45"] }
}]
assetlinks.json
包含以下语句就足够了:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : { "namespace": "android_app", "package_name": "com.simovinci.bagnoadriatico",
"sha256_cert_fingerprints": ["DA:E2:7C:57:8F:B8:28:ED:C0:00:70:7C:52:1F:95:8E:50:E6:A9:58:50:B0:FB:9A:F1:99:78:C9:D4:6B:72:45"] }
}]
我不确定这是否是地址栏可见的根本原因。我还建议仔细检查:
- 仔细检查指纹
- 确保打开 URL 时没有重定向到未经验证的域。
如果这些有帮助,请告诉我。