Ошибка SERVICE_VERSION_UPDATE_REQUIRED при использовании Firebase Analytics на Android

Я хочу интегрировать Firebase Analytics в свой проект.

Я следовал руководству, но оно выдает следующее предупреждение:

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

Я думаю, что версия, которую я использую сейчас, достаточно хороша, но я все еще получаю сообщение об ошибке, может ли кто-нибудь дать мне подсказку?


person Damon Yuan    schedule 30.06.2016    source источник
comment
Предупреждения могут указывать на то, что вашим сервисам Google Play требуется обновление. Вы также не видите предупреждение о том, что Сервисы Google Play устарели? Вы работаете на эмуляторе? Версия GPS на моих устройствах 9.2.56.   -  person Bob Snyder    schedule 30.06.2016
comment
1. Я не видел предупреждающего сообщения об этом. 2. Работает на реальном устройстве. Что мне делать, чтобы обновить службу Google Play на моем мобильном телефоне?   -  person Damon Yuan    schedule 01.07.2016
comment
Вы можете увидеть установленный номер версии, перейдя в Настройки/Диспетчер приложений и найдя Службы Google Play. Текущая версия 9.2.56. Вы можете получить номер установленной версии из кода, вызвав GoogleApiAvalability. .GOOGLE_PLAY_SERVICES_VERSION_CODE. Если у вас установлена ​​не последняя версия, вы можете обновить ее с Магазин Google Play.   -  person Bob Snyder    schedule 01.07.2016
comment
Я вижу ту же проблему, но API, похоже, не возвращает PendingIntent для решения проблемы. Это странно, потому что мои пользователи понятия не имеют, как действовать дальше! Любые идеи о том, как дать надлежащую обратную связь пользователям приложения?   -  person Niels    schedule 14.07.2016


Ответы (2)


После публикации комментариев к вопросу (см. Выше) я экспериментировал с запуском приложения, созданного с помощью Firebase 9.2.0, на эмуляторе со старой версией Служб Google Play. Используя команды 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.

person Bob Snyder    schedule 01.07.2016
comment
Есть ли способ поймать/обнаружить эту ошибку во время работы на производственном устройстве? При ручном подключении к API сервисов Google Play можно использовать [developers.google.com/android/reference/com/google/android/gms/ для этой цели, но Firebase кажется, делает попытку мошенничества за кулисами. Многие устройства в этой области используют устаревшие сервисы Google Play, поэтому очень важно программно отловить эту ошибку и предложить пользователю обновить ее. - person CCJ; 09.05.2017
comment
@CCJ: используйте методы GoogleApiAvailability. , в частности, isGooglePlayServicesAvailable(). - person Bob Snyder; 09.05.2017
comment
Ах хорошо. Текст этого метода гласит: «Проверяет, что сервисы Google Play установлены и включены на этом устройстве, и что версия, установленная на этом устройстве, не старше той, которая требуется этому клиенту — к какому клиенту они относятся?» Разве требуемая версия не должна быть специфичной для данного API сервисов Google Play? Если да, то как я могу применить этот метод к API, который требуется Firebase Analytics, чтобы гарантировать, что попытки подключения API Firebase не приведут к статусу SERVICE_VERSION_UPDATE_REQUIRED? - person CCJ; 10.05.2017

Это сообщение означает, что вам необходимо обновить приложение Google Play Store на устройстве.

Если вы используете эмулятор Android Studio:

  1. Откройте расширенные элементы управления, щелкнув 3 точки в нижней части меню управления.
  2. Выберите Google Play
  3. Нажмите Обновить
  4. Внутри эмулятора нажмите кнопку ОБНОВИТЬ

После загрузки и установки новой версии эта ошибка исчезнет.

person Babken Vardanyan    schedule 16.04.2018