我正在使用带有6.0.1的Samsung S6上运行官方GCM示例
https://github.com/googlesamples/google-services/tree/master/android/gcm
我已完成所有步骤以使其正常运行,在Google云端控制台中注册,添加json文件等。
我可以使用GcmSender发送消息(包含在示例中),设备上的应用程序会收到消息,但是:
每次应用收到消息时,logcat中都会出现以下两个错误:
FirebaseInstanceId E Failed to resolve target intent service, skipping classname enforcement
E Error while delivering the message: ServiceIntent not found.
也许可以忽略它们(应用程序确实得到推送的消息),但是它们有严重性=错误,如果有充分的理由会怎么样?
如果这导致GCM不可靠地工作(某种“指数退避”)怎么办?
是什么原因造成的?我怎样才能做到这些错误不会发生?
由于官方消息称GCM将继续支持现有应用 - 我希望避免使用Firebase消息。
GCM似乎更容易设置并且周围有更少的“魔法位”(所有各种服务/注册/令牌/ API以及不是什么)。我只需要可靠的云驱动推送消息,就是这样,没有别的。
所以问题不是“我应该使用GCM还是Firebase”,我知道“正确”的答案。
这是“当运行官方GCM示例时,logcat中存在这些错误,它们是什么以及如何解决它们。”
最后,应用程序的清单:
以及build.gradle的相关位:
```dependencies {
compile 'com.google.android.gms:play-services-gcm:9.2.1'
...
}
apply plugin: 'com.google.gms.google-services'
```