【问题标题】:SERVICE_VERSION_UPDATE_REQUIRED error using Firebase Analytics on Android在 Android 上使用 Firebase Analytics 时出现 SERVICE_VERSION_UPDATE_REQUIRED 错误
【发布时间】:2016-11-02 10:04:55
【问题描述】:

我想将 Firebase Analytics 集成到我的项目中。

我关注了Guide,但它给了我这个警告:

06-30 18:38:30.514 W/FA      ( 2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null}
06-30 18:38:30.888 W/FA      ( 2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null}
06-30 18:38:32.306 W/FA      ( 2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null}
06-30 18:38:32.338 W/FA      ( 2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null}
06-30 18:38:32.661 W/FA      ( 2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null}
06-30 18:39:32.680 W/FA      ( 2091): Tasks have been queued for a long time

我的项目版本是:

ext {
minSdkVersion = 17
targetSdkVersion = 23
compileSdkVersion = 23
compileSdkVersionS = 'Google Inc.:Google APIs:23'
supportVersion = '24.0.0'
buildToolsVersion = '23.0.2'
sourceCompatibilityVersion = JavaVersion.VERSION_1_7
targetCompatibilityVersion = JavaVersion.VERSION_1_7
gradleVersion = '2.1.2'
playServicesVersion = '9.2.0'
gsonVersion = '2.3'}

日志是通过打印出来的

adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC

我认为我现在使用的版本已经足够好了,但我仍然收到错误消息,有人可以给我提示吗?

【问题讨论】:

  • 警告可能表明您的 Google Play 服务需要更新。您是否还没有看到一条警告消息:Google Play 服务已过期?你在模拟器上运行吗?我设备上的 GPS 版本是 9.2.56。
  • 1.我没有看到说明这一点的警告消息。 2. 在真机上运行。那么我应该怎么做才能更新手机中的 Google Play 服务?
  • 您可以通过转到设置/应用程序管理器并找到 Google Play 服务来查看已安装的版本号。当前版本是 9.2.56。您可以通过调用GoogleApiAvalability.GOOGLE_PLAY_SERVICES_VERSION_CODE 从代码中获取已安装的版本号。如果您安装的版本不是最新的,您可以从Google Play Store 更新。
  • 我看到了同样的问题,但 API 似乎没有返回 PendingIntent 来解决问题。这很奇怪,因为我的用户不知道如何继续!关于如何向应用用户提供适当反馈的任何想法?

标签: android firebase firebase-analytics


【解决方案1】:

在发布有关该问题的 cmets 后(见上文),我尝试在具有旧版本 Google Play 服务的模拟器上运行使用 Firebase 9.2.0 构建的应用。使用问题中发布的adb 命令,我看到了与问题中包含的相同的警告。同样在正常的logcat 输出中是消息:

W/GooglePlayServicesUtil: Google Play services out of date.  Requires 9256000 but found 9080030

您需要更新设备上的 Google Play 服务。如果您运行的是 Firebase 9.2.0,则所需的 Play Services 版本为 9.2.56。

【讨论】:

  • 在生产设备上运行时有没有办法捕捉/检测此错误?当手动连接到 Google Play 服务 API 时,可以使用 [developers.google.com/android/reference/com/google/android/gms/… 来实现此目的,但 Firebase 似乎正在幕后进行连接尝试。该领域的许多设备都在运行过时的 Google Play 服务,因此以编程方式捕获此错误并向用户建议更新至关重要。
  • @CCJ:使用GoogleApiAvailability的方法,特别是isGooglePlayServicesAvailable()
  • 啊好吧。该方法的文本为“验证此设备上是否安装并启用了 Google Play 服务,并且此设备上安装的版本不低于此客户端所需的版本”——他们指的是哪个客户端?所需的版本不应该特定于给定的 Google Play 服务 API 吗?如果是这样,我如何将此方法应用于 Firebase Analytics 所需的 API,以确保 Firebase 的 API 连接尝试不会导致 SERVICE_VERSION_UPDATE_REQUIRED 状态?
【解决方案2】:

此消息表示您需要更新设备上的 Google Play Store 应用。

如果您使用的是 Android Studio 模拟器:

  1. 通过单击控制菜单底部的 3 个点打开扩展控件
  2. 选择 Google Play
  3. 点击更新
  4. 在模拟器中点击更新按钮

新版本下载安装后,这个错误就消失了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多