在 Android WebView 应用程序中格式化用户代理字符串的正确方法?

ved*_*ant 4 android google-analytics webview

在我的 android web 应用程序中,我想修改我的用户代理,以便我可以在我的服务器和谷歌分析上识别它。

目前用户代理看起来像这样:

Mozilla/5.0 (Linux; Android 7.0; Moto G (4) Build/NPJ25.93-14; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36

我可能应该包含一个标签,谷歌分析可以将其作为一个网络应用程序和另一个提到我的 android 应用程序版本的标签。这将是 webview 版本的补充。我希望谷歌分析继续为我提供移动设备信息、Android 版本、操作系统等的正确数据。可能只应更改浏览器字段。

我知道如何更改用户代理字符串。我想知道在创建用户代理字符串时我应该记住哪些事情。

ved*_*ant 7

感谢这个博客,我找到了答案。您应该将“浏览器”和“浏览器版本”附加到 WebView 的现有用户代理字符串,谷歌分析会选择它。

代码:

WebSettings webSettings = webView.getSettings();
String userAgent = String.format("%s [%s/%s]", webSettings.getUserAgentString(), "App Android", BuildConfig.VERSION_NAME);
webSettings.setUserAgentString(userAgent);
Run Code Online (Sandbox Code Playgroud)

在 Google Analytics 中,“浏览器”维度值是“App Android”,“浏览器版本”是构建配置中的字符串。