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

Nie*_*ian 7 user-agent google-analytics huawei-mobile-services huawei-developers

我想在我的 Google Analytics 中检查我的用户群中有多大比例使用华为设备,这些设备不再使用谷歌服务,而是使用应用程序库等。

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

Zin*_*nna 5

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

\n

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

\n

通过以下方式获取华为设备型号,然后与您建立的非GMS华为设备列表进行核对。

\n
    \n
  • Android 应用 \xe2\x80\x93 实施 Firebase Analytics 来检测和报告设备型号。您还可以尝试华为分析套件

    \n
  • \n
  • Web主机(自从您提到\xe2\x80\x98user-agent\xe2\x80\x99)\xe2\x80\x93华为设备浏览器在用户代理标头中报告HMS和设备型号,您的Web主机可以拾取它。以下是华为 Mate 30 Pro(型号 # LIO-AL00 )报告的用户代理示例:

    \n

    A。华为浏览器 \xe2\x80\x93 Mozilla/5.0 (Linux; Android 10; LIO-AL00 ; HMSCore\n5.0.4.301) AppleWebKit/537.36 (KHTML, 如 Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.4.300 Mobile Safari /537.36

    \n

    b. Google Chrome \xe2\x80\x93 Mozilla/5.0(Linux;Android 10;LIO-AL00)\nAppleWebKit/537.36(KHTML,如 Gecko)Chrome/86.0.4240.114 移动版\nSafari/537.36

    \n
  • \n
\n

如果您只需要确定某些设备是否没有\xe2\x80\x99t有Google Play服务,您可以使用此API

\n

public int isGooglePlayServicesAvailable(上下文上下文)

\n

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

\n

退货

\n

\xe2\x80\xa2 状态码,指示是否有错误。ConnectionResult中可以是以下之一:SUCCESS、SERVICE_MISSING、SERVICE_UPDATING、SERVICE_VERSION_UPDATE_REQUIRED、SERVICE_DISABLED、SERVICE_INVALID

\n

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

\n