我开发了Progressive Web App,并希望将其作为受信任的Web活动在Play商店中发布。 是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商店中发布。
在网站上,我通过Digital Asset Link创建了关联 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删除为移动版本之前),但没有任何更改。地址栏仍然可见。
答案 0 :(得分:3)
如果您通过Google Play使用过应用签名,则SHA 256会更改。解决方法是从Play商店下载您的应用,然后通过Play商店也使用以下工具生成新的assetlinks.json文件:
https://play.google.com/store/apps/details?id=dev.conn.assetlinkstool&hl=en
答案 1 :(得分:0)
assetlinks.json
文件实际上是错误的。它包含Android标记和网络标记:
[{
"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"] }
}]
我不确定这是否是地址栏可见的根本原因。我还建议仔细检查:
让我知道是否有任何帮助。
答案 2 :(得分:0)
我只在模拟器上发现了这个问题。 它在真实设备上完美运行。
问题是模拟器没有加载已签名的 APK。要在模拟器上加载已签名的 apk,请在 gradle 文件中添加以下代码
signingConfigs{
debug{
keyAlias 'your key alias'
keyPassword 'your keypassword'
storeFile file('keystore path')
storePassword 'your storepassword'
}
}
buildTypes {
debug{
signingConfig signingConfigs.debug
}
}