2016-06-30 2 views
11

Я хочу интегрировать Firebase Analytics в свой проект.Ошибка SERVICE_VERSION_UPDATE_REQUIRED с использованием Firebase Analytics на Android

Я следовал за 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 

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

+0

Предупреждения могут указывать на то, что вашим службам Google Play требуется обновление. Вы также не видите предупреждающее сообщение о том, что: _Google Play службы устарели_? Вы работаете на эмуляторе? Версия GPS на моих устройствах - 9.2.56. –

+0

1. Я не видел предупреждающего сообщения с сообщением об этом. 2. Он работает на реальном устройстве. Что мне делать, чтобы обновить Сервис Google Play в моем мобильном телефоне? –

+0

Вы можете увидеть номер установленной версии, выбрав «Настройки/Application-Manager» и найти Службы Google Play. Текущая версия - 9.2.56. Вы можете получить установленный номер версии из кода, вызвав [GoogleApiAvalability.GOOGLE_PLAY_SERVICES_VERSION_CODE] (https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability). Если ваша установленная версия не является последней, вы можете обновить ее из [Google Play Store] (https://play.google.com/store/apps/details?id=com.google.android.gms&hl=ru). –

ответ

9

После размещения комментариев по вопросу (см. Выше), я экспериментировал с приложением, созданным с 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, требуемая версия Служебных услуг - 9.2.56.

+0

Есть ли способ поймать/обнаружить эту ошибку во время работы на производственном устройстве? При ручном подключении к API-интерфейсам Google Play можно использовать [https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener#onConnectionFailed(com.google.android .gms.common.ConnectionResult))] для этой цели, но Firebase, похоже, делает попытку подключения за кулисами. На многих устройствах на местах работают устаревшие сервисы Google Play, поэтому критическая ошибка в этой ошибке и предложение обновления пользователю имеют решающее значение. – CCJ

+1

@CCJ: Используйте методы [GoogleApiAvailability] (https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability), в частности, 'isGooglePlayServicesAvailable()'. –

+0

ах ладно. Текст этого метода гласит: «Проверяет, что сервисы Google Play установлены и включены на этом устройстве и что версия, установленная на этом устройстве, не старше той, которая требуется этому клиенту», - к какому клиенту они относятся? Должна ли конкретная версия быть специфичной для данного API сервисов Google Play? Если да, как я могу применить этот метод к API (-ам), которые требуется Firebase Analytics для обеспечения того, чтобы попытки подключения API Firebase не привели к статусу SERVICE_VERSION_UPDATE_REQUIRED? – CCJ