如何在Android应用程序中管理Google Play Services更新



我有点不知道如何在应用程序中管理Google Play服务。

文档规定应下载最新版本的游戏服务,并将其设置为grade.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" />

为什么,没有任何解释?

然后我在SO的回答中发现,谷歌播放服务的版本应该在应用程序中使用之类的东西进行检查

// 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中设置的版本号?

有人能帮我澄清一下吗?

这是否意味着每次发布新版本时都应该进行

没有。当你发布新版本的应用程序时,请检查该库的更新,因为它可能已经修复了一些问题。但是,如果你懒惰,不检查新版本,你可以继续使用旧版本,它们不会突然停止工作。

<meta-data ...为什么,没有解释?

这是GooglePlayServicesUtil和手机上安装的播放服务框架使用的信息,以确保即使你的应用程序使用了旧版本的库,一切都能正常工作。对话框是告诉用户这样做的一种简单方法

这将打开一个对话框来下载最新版本,以防应用程序中的版本不是最新的。但它有什么作用?

一台设备需要两个组件才能使用谷歌服务。

1) Play Services Framework应用程序。

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

例如,它为您提供管理谷歌登录信息的服务。当应用程序需要时,用户必须通过播放商店安装和更新版本。

2) 播放服务库。

这就是你的应用程序附带的内容,它所做的就是提供使用上述应用程序提供的服务的类。你必须通过渐变来更新库。

库需要特定版本的应用程序。因此,要检查是否安装了该应用程序,并且它至少有所需的版本,请执行GooglePlayServicesUtil部分。

当应用程序永远不会超过你的库时,这是没有问题的。基于<meta-data,它将知道如何处理旧版本。

最新更新