簡體   English   中英

如何在Android應用中管理Google Play服務更新?

[英]How to manage Google Play Services update in an Android app?

我對如何在應用中管理Google Play服務感到很遺憾。

doc指定應下載最新版本的play-services,並且應在gradle.build中設置版本號,例如:

dependencies {
    //...
    compile 'com.google.android.gms:play-services:6.1.+'
}

然后它解釋說:

Be sure you update this version number each time Google Play services is updated.

這是什么意思? 這是否意味着每次發布新版本時都應該在應用程序中進行更新,並在build.gradle重置其版本號(這意味着每次都應該執行新的apk,這聽起來很瘋狂)?

它還指定應在清單中添加以下標記:

<meta-data android:name="com.google.android.gms.version"
       android:value="@integer/google_play_services_version" />

為什么,沒有解釋?

然后我在那個答案中發現Google Play服務版本應該使用類似的方式在應用程序中檢查

// Check status of Google Play Services
int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);

// Check Google Play Service Available
try {
    if (status != ConnectionResult.SUCCESS) {
    GooglePlayServicesUtil.getErrorDialog(status, this, RQS_GooglePlayServices).show();
    }
} catch (Exception e) {
    Log.e("Error: GooglePlayServiceUtil: ", "" + e);
}

這會打開一個對話框來下載最新版本,以防應用程序中的版本不是最新版本。

但是它做了什么? 它是否在構建apk時替換了lib集? 在這種情況下,它如何管理build.gradle設置的版本號?

有人可以幫忙解釋一下嗎?

這是否意味着每次發布新版本[..]都應該完成一個新的apk

不會。當您發布應用程序的新版本時,請檢查該庫的更新,因為它可能已修復了某些內容。 但是如果你懶惰並且不檢查新版本,你可以繼續使用舊版本,它們不會突然停止工作。

<meta-data ...為什么,沒有解釋?

這是GooglePlayServicesUtil使用的信息以及手機上安裝的播放服務框架,以確保即使您的應用程序使用的是舊版本的庫,一切也能正常運行。 該對話框是一種告訴用戶這樣做的簡單方法。

..這將打開一個對話框來下載最新版本,以防應用程序中的那個不是最新的。 但是它做了什么?

設備上需要兩個組件才能使用Google服務。

1)Play服務框架應用程序。

https://play.google.com/store/apps/details?id=com.google.android.gms

例如,它提供了在谷歌管理登錄信息的服務。 用戶必須在應用需要時通過Play商店安裝和更新版本。

2)Play服務庫。

這就是您隨應用程序提供的內容,它所做的只是提供使用上述應用程序提供的服務的類。 您必須通過gradle更新庫。

該庫需要某個版本的應用程序。 因此,要檢查是否安裝了該應用並且它至少具有所需版本,請執行GooglePlayServicesUtil部分。

當應用程序永遠不是您的庫時,沒有問題。 它將基於<meta-data知道如何處理舊版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM