我有点不知道如何在应用程序中管理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
,它将知道如何处理旧版本。