现在使用时是否已弃用gcm可靠,何时可能已关闭?我的意思是gcm与谷歌播放服务无关(gcm.jar-GCMRegistar版本)。 我测试了最新的gcm版本,发现bulit的大小超过了2.0 mb,这比旧的gcm.jar要大。 此外,旧的gcm不需要谷歌播放服务,一些旧的设备没有安装谷歌播放服务,所以旧的gcm可以运行在更多的设备上。 这是gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.mygcm"
minSdkVersion 9
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.google.android.gms:play-services:8.4.0'
}
答案 0 :(得分:0)
使用新的gcm库时,您应该包含单个依赖项,而不是整个播放服务库。
使用:
compile 'com.google.android.gms:play-services-gcm:8.4.0'
而不是:
compile 'com.google.android.gms:play-services:8.4.0'
其他Play服务库也是如此:例如:play-services-drive
答案 1 :(得分:0)
虽然仍然支持旧的GCMRegistrar
API,但您一定要更改为新的GCM API。新版InstanceId
API与旧版本相比具有许多优点和改进,并且运行良好(我在生产中测试了几个月)。
https://developers.google.com/instance-id/#key_features
实例ID,身份和授权
实例ID(IID)允许您为每个标识符检索唯一标识符 应用实例,提供验证和授权的机制 行动,即使您的应用没有用户注册和 账户。例如,这允许您唯一地确定哪个应用程序 实例通过包含实例ID令牌发送请求。 我们还可以轻松处理边缘情况以确保您的安全 拥有有效的实例ID令牌。
这是服务器端非常有趣的部分:
https://developers.google.com/instance-id/reference/server#get_information_about_app_instances
关于图书馆大小,正如@Arthur指出的那样,您应该只使用Play Services库中所需的内容。这里有你可以从gradle而不是整个bundle引用的list of individual库。