我已经遵循了受信任的网络活动的所有步骤,但使用 chrome dev 仍然可以看到地址栏。如何在受信任的网络活动中获取 webview?
Posted
技术标签:
【中文标题】我已经遵循了受信任的网络活动的所有步骤,但使用 chrome dev 仍然可以看到地址栏。如何在受信任的网络活动中获取 webview?【英文标题】:i have followed all the steps of trusted web activity but still address bar is visible using chrome dev..how to get webview in trusted web activity? 【发布时间】:2019-03-31 00:36:36 【问题描述】:这是我们的 android 应用程序的屏幕截图,但是当它打开时,地址栏是可见的,如图所示如何使用受信任的网络活动隐藏该 url(地址栏)?
screenshot here 我们也使用 Chrome Dev 作为我们的默认浏览器,但每次打开 android 应用程序时它都不会正常工作。请为此提出解决方案。 提前致谢!
【问题讨论】:
没有截图,可以加一下吗? 点击此处的超链接截图 你找到解决办法了吗? 【参考方案1】:Google 需要验证网站的所有者和应用的所有者是否相同。 为了执行此验证,它将在 /.well-known/assetlinks.json 位置查找assetlinks.json
此assetlinks.json 应包含相应android 应用程序的sha256 以及package_name、命名空间和一些其他信息,如下所示。
[
"relation": ["delegate_permission/common.handle_all_urls"],
"target":
"namespace": "android_app",
"package_name": "org.chromium.twa.svgomg",
"sha256_cert_fingerprints": [
"82:04:C5:DB:19:A8:B9:8A:27:14:F0:3E:F5:23:2C:6B:B6:B9:63:10:F2:F9:CD:44:72:AA:C6:7E:09:E1:1C:47",
"91:45:8F:34:E3:13:E4:58:1C:12:21:7A:FD:1E:BD:5C:BE:9B:DE:2C:1E:57:DC:0D:2B:0E:91:1D:A6:36:CA:E8"
]
]
您还需要更新 AndroidManifest.xml,如下所示。
<application>
...
<meta-data android:name="asset_statements"
android:resource="@string/asset_statements" />
...
</application>
为此,我们需要在 strings.xml 文件中添加asset_statements,如下所示。
<string name="asset_statements">
[
\"relation\": [\"delegate_permission/common.handle_all_urls\"],
\"target\":
\"namespace\": \"web\",
\"site\": \"https://svgomg.firebaseapp.com\"
]
</string>
反斜杠是强制性的。 完成所有这些后,请确保您从 Chrome 70 开始针对 chrome dev 原因,不支持 TWA。
【讨论】:
【参考方案2】:您可能已选择让 Google Play 使用他们生成的密钥为您的版本签名,并且只使用您的密钥进行上传。
如果您这样做了,只需将 Release Management -> App Signing 下的 应用签名证书 SHA-256 指纹复制到assetlinks.json
文件中。
【讨论】:
以上是关于我已经遵循了受信任的网络活动的所有步骤,但使用 chrome dev 仍然可以看到地址栏。如何在受信任的网络活动中获取 webview?的主要内容,如果未能解决你的问题,请参考以下文章
当我完全信任依赖方时,为啥我应该遵循 Oauth2.0 和 OpenID Connect Protocole 而不是仅使用 JWT 的基本身份验证?