用于 Google 云消息传递客户端的 BroadcastReceiver 或 GCMBroadcastReceiver?

Posted

技术标签:

【中文标题】用于 Google 云消息传递客户端的 BroadcastReceiver 或 GCMBroadcastReceiver?【英文标题】:BroadcastReceiver or GCMBroadcastReceiver for Google Cloud Messaging client? 【发布时间】:2013-02-14 10:37:13 【问题描述】:

在有关为 Google Cloud Messaging 编写 android 部分的文档中,描述了两个不同的选项:

-在http://developer.android.com/google/gcm/gs.html#android-app 中使用com.google.android.gcm.GCMRegistrarcom.google.android.gcm.GCMBroadcastReceivercom.google.android.gcm.GCMBaseIntentService

-使用android.content.BroadcastReceiverandroid.app.IntentService + 在http://developer.android.com/google/gcm/gcm.html#writing_apps 中编写处理程序。

这令人困惑。推荐的方式是什么?

【问题讨论】:

【参考方案1】:

-使用

com.google.android.gcm.GCMRegistrar, com.google.android.gcm.GCMBroadcastReceiver 和 com.google.android.gcm.GCMBaseIntentService

在http://developer.android.com/google/gcm/gs.html#android-app

在这里效果很好

【讨论】:

【参考方案2】:

由于我信任 Commonsware,我查看了他的 Busy Coder's Guide to Android Development 并使用了 com.google.android.gcm.GCM* 类。它们使一切变得更容易(将注册保存到首选项,使用唤醒锁......)。

【讨论】:

以上是关于用于 Google 云消息传递客户端的 BroadcastReceiver 或 GCMBroadcastReceiver?的主要内容,如果未能解决你的问题,请参考以下文章

适用于 iOS 应用的 GCM(Google 云消息传递)

如何将 Azure 通知 REST API 与 Google 云消息传递一起使用

用于使用 Google Cloud 消息传递的 API 的数据结构

是否有可能,来自 GCM 的规范 id 就像客户端的注册 id?

Google 云消息传递实例 ID 是永久的还是临时的?

问题+澄清:使用 Google 云消息传递从 Raspberry Pi 向 Android 手机发送消息