gpt4 book ai didi

android - 如何区分 Android Chrome 浏览器和应用内 WebView 用户代理?

转载 作者:行者123 更新时间:2023-11-29 01:28:05 24 4
gpt4 key购买 nike

我目前正在开发一个使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com