如果华为设备不支持谷歌服务,是不是可以从用户代理中识别?

Posted

技术标签:

【中文标题】如果华为设备不支持谷歌服务,是不是可以从用户代理中识别?【英文标题】:Is it possible to identify from the user-agent if a Huawei device is NOT supporting google services?如果华为设备不支持谷歌服务,是否可以从用户代理中识别? 【发布时间】:2021-03-08 07:44:24 【问题描述】:

我想在我的 Google Analytics(分析)中查看我的用户群中有多大比例正在使用不再使用谷歌服务而是使用 App Gallery 等的华为设备。

我想知道我是否可以例如在用户代理等中寻找特定的操作系统版本?

【问题讨论】:

【参考方案1】:

如果我正确阅读了您的问题,您正在寻找方法来检测不受 Google 支持的华为设备,即没有 Google 移动服务(又名 Google Play 服务或 GMS)的华为设备。

要检测这些特定设备,您需要首先获取2019年5月之后发布的华为设备型号列表,这些型号通常包括Mate 30、40、P40系列。您可以从here 获取列表(按发布时间排序)。

通过以下方法获取华为设备型号,然后对照自己搭建的非GMS华为设备列表进行核对。

android 应用 - 实施 Firebase Analytics 以检测和报告设备型号。你也可以试试Huawei Analytics Kit。

Web 主机(因为您提到了“user-agent”)——华为设备浏览器在 user-agent 标头中报告 HMS 和设备型号,您的 Web 主机可以获取它。以下是华为 Mate 30 Pro(型号#LIO-AL00)报告的用户代理示例:

一个。华为浏览器 – Mozilla/5.0 (Linux; Android 10; LIO-AL00; HMSCore 5.0.4.301) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.4.300 Mobile Safari/537.36

b. Google Chrome – Mozilla/5.0(Linux;Android 10;LIO-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.114 Mobile Safari/537.36

如果您只是需要确定某些设备是否没有 Google Play 服务,您可以使用这个API:

public int isGooglePlayServicesAvailable (Context context)

验证此设备上已安装并启用 Google Play 服务,并且此设备上安装的版本不低于此客户端所需的版本。

退货

• 指示是否存在错误的状态代码。可以是ConnectionResult 中的以下之一:SUCCESS、SERVICE_MISSING、SERVICE_UPDATING、SERVICE_VERSION_UPDATE_REQUIRED、SERVICE_DISABLED、SERVICE_INVALID

如果结果为 SERVICE_MISSING,则在 Firebase Analytics 中创建一个自定义事件并使用设备型号进行报告。这是确定设备是否没有 Google Play 服务的可靠方法。

【讨论】:

对于浏览器,使用 javascript navigator.userAgent 获取上述信息。【参考方案2】:

用户代理不会显示在 Google Analytics 中,但会显示源自它的信息,例如设备类型、设备类别、使用的浏览器、版本等...

您可以找到所有可用维度和指标的列表:https://ga-dev-tools.appspot.com/dimensions-metrics-explorer/

【讨论】:

谢谢,我知道,问题更多是关于我要寻找的标识符,对于不受谷歌支持的华为设备......?【参考方案3】:

根据@Michele Pisani 的说法,Google Analytics Core Reporting API 可以让您访问 Google Analytics 中的大部分报告数据。

根据this documentation,您可以从 Google Analytics - Audience reports - Mobile (Devices) 获取设备信息。

另外,如果您集成了HUAWEI Analytics Kit,您可以在华为分析报告的过滤区域过滤不同品牌、设备型号和地区的用户,进行详细分析和比较分析。

例如,您可以比较不同设备品牌在一段时间内的新用户趋势。

在(1)中选择过滤条件,在(2)中添加比较分析条件。然后,您可以在(3)中的新用户趋势图中查看比较趋势,在(4)中的表格中查看比较值。您可以下载数据进行个性化分析。在(5)中,点击VS清除比较条件。

【讨论】:

是的,谢谢,我知道我可以从 GA 获取设备信息等。我的问题更多是关于我要寻找的标识符,对于不受谷歌支持的华为设备......?

以上是关于如果华为设备不支持谷歌服务,是不是可以从用户代理中识别?的主要内容,如果未能解决你的问题,请参考以下文章

想问华为hms,core啥意思

华为鸿蒙系统Harmony OS真的让谷歌慌了吗?

不支持Google Play服务要怎么解决

如果华为设备同时支持 GMS 和 HMS 核心,那为啥 HMS 核心不工作?

如何查看手机是不是支持NFC功能

请问华为手机怎样查看蓝牙耳机的电量百分比