2016-06-30 24 views
11

Tôi muốn tích hợp Firebase Analytics vào dự án của mình.Lỗi SERVICE_VERSION_UPDATE_REQUIRED khi sử dụng Firebase Analytics trên Android

Tôi làm theo các Guide nhưng nó mang lại cho tôi cảnh báo này:

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 

phiên bản án của tôi là:

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'} 

Nhật ký là in ra thông qua

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

Tôi nghĩ rằng phiên bản tôi đang sử dụng bây giờ là đủ tốt nhưng tôi vẫn nhận được thông báo lỗi, bất cứ ai có thể giv e cho tôi một gợi ý về nó?

+0

Cảnh báo có thể cho biết Dịch vụ Google Play của bạn cần cập nhật. Bạn cũng không thấy thông báo cảnh báo nêu rõ: _Dịch vụ của Google Play đã lỗi thời? Bạn đang chạy trên một trình giả lập? Phiên bản GPS trên thiết bị của tôi là 9.2.56. –

+0

1. Tôi không thấy thông báo cảnh báo cho biết. 2. Nó đang chạy trên một thiết bị thực. Tôi nên làm gì sau đó để cập nhật Dịch vụ Google Play trong điện thoại di động của mình? –

+0

Bạn có thể xem số phiên bản đã cài đặt bằng cách đi tới Cài đặt/Trình quản lý ứng dụng và tìm Dịch vụ của Google Play. Phiên bản hiện tại là 9.2.56. Bạn có thể lấy số phiên bản đã cài đặt từ mã bằng cách gọi [GoogleApiAvalability.GOOGLE_PLAY_SERVICES_VERSION_CODE] (https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability). Nếu phiên bản đã cài đặt của bạn không phải là phiên bản mới nhất bạn có thể cập nhật từ [Cửa hàng Google Play] (https://play.google.com/store/apps/details?id=com.google.android.gms&hl=vi). –

Trả lời

9

Sau khi đăng nhận xét về câu hỏi (xem bên trên), tôi đã thử chạy một ứng dụng được xây dựng với Firebase 9.2.0 trên trình mô phỏng có phiên bản Dịch vụ của Google Play cũ. Sử dụng các lệnh adb được đăng trong câu hỏi, tôi thấy các cảnh báo tương tự như những cảnh báo được đưa vào câu hỏi. Cũng trong đầu ra thông thường logcat là thông báo:

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

Bạn cần cập nhật Dịch vụ của Google Play trên thiết bị của mình. Nếu bạn đang chạy Firebase 9.2.0, phiên bản Dịch vụ Play được yêu cầu là 9.2.56.

+0

Có cách nào để bắt/phát hiện lỗi này khi đang chạy trên thiết bị sản xuất không? Khi kết nối thủ công với API dịch vụ của Google Play, người dùng có thể sử dụng [https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener#onConnectionFailed(com.google.android .gms.common.ConnectionResult))] cho mục đích này, nhưng Firebase dường như đang tạo ra sự cố gắng đằng sau hậu trường. Nhiều thiết bị trong trường đang chạy Dịch vụ của Google Play lỗi thời, vì vậy, hãy bắt lỗi này theo lập trình và đề xuất cập nhật cho người dùng là rất quan trọng. – CCJ

+1

@CCJ: Sử dụng các phương pháp của [GoogleApiAvailability] (https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability), cụ thể là 'isGooglePlayServicesAvailable()'. –

+0

à. Nội dung của phương thức đó có nghĩa là "Xác minh rằng dịch vụ Google Play đã được cài đặt và bật trên thiết bị này và phiên bản được cài đặt trên thiết bị này không cũ hơn phiên bản được yêu cầu bởi ứng dụng này" - cho khách hàng đang giới thiệu cái gì? Phiên bản bắt buộc có phải là cụ thể cho API dịch vụ của Google Play đã cung cấp không? Nếu vậy, làm cách nào tôi có thể áp dụng phương pháp này cho (các) API mà Firebase Analytics yêu cầu để đảm bảo rằng các nỗ lực kết nối API của Firebase sẽ không dẫn đến trạng thái SERVICE_VERSION_UPDATE_REQUIRED? – CCJ

Các vấn đề liên quan