我目前正在开发一个使用 WebView 加载某些页面的 Android 应用程序(我无法修改 HTML,因为它正在被 iOS 应用程序和网站使用)。 首先我们遇到了问题,即 InApp WebViews 和常规 Android 浏览器的用户代理是相同的(从 Android 4.4 开始使用 Chromium 作为网络引擎)。
应用内网页 View 示例:
Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/44.0.2403.117 Mobile Safari/537.36
因此在 Google Analytics 中,我们无法区分使用应用程序的用户和使用普通浏览器访问 HTML 页面的用户。 解决方案是通过以下方式更改 Useragent 字符串:
webView.getSettings().setUserAgentString("Our custom Mobile Android InApp Browser");
这适用于 Google Analytics。
但现在我们遇到了一个问题,即 Youtube 没有将 InApp 用户识别为移动用户,而是为桌面 Youtube 播放器提供服务。
现在我正在寻找以下解决方案之一:
1) 以某种方式让 Google Analytics 将应用内浏览器识别为不同于普通的 Android 浏览器。
或
2) 为 webview-user-agent 设置一些自定义字符串,使 Youtube 提供其移动版本。
谢谢!
最佳答案
设置自定义 User-Agent 字符串似乎是一个不错的解决方案。
只需确保 Youtube 可以将此自定义字符串识别为移动 Android 设备即可。例如,您可以使用用于存储设备型号的“字段”:
Dalvik/1.6.0 (Linux; U; Android 4.0.3; <Your_custom_marker> Build/IML74K)
关于android - 如何区分 Android Chrome 浏览器和应用内 WebView 用户代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32733555/