GCM推送通知的依赖关系

时间:2013-10-24 05:11:40

标签: android android-emulator google-cloud-messaging

我一直在为即将开展的项目研究GCM推送通知,并且我一直面临着关于其实现的几个困惑。我已经按照以下链接:

  1. http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/
  2. http://developer.android.com/google/gcm/client.html
  3. 我最终使用的实现与模拟器(不是所有这些)一起工作得很好。这是我注册实施的link

    1. 适用于在平台4.2.2上运行的模拟器
    2. 它不适用于在平台2.3.3上运行的模拟器
    3. 到目前为止,我的经验告诉我,在客户端,必须确保以下事项才能正确启用GCM:

      1. 已安装Google Play服务
      2. 该设备与Google帐户同步。
      3. 我是对的吗?

        所以我有以下问题要问:

        1. 在实施GCM时,我应该担心哪些客户端依赖项?我应该在我的代码中查看什么?
        2. 当我在上面的代码中取消注释110到114的行以检查播放服务时,我收到以下错误日志http://pastebin.com/C2BJkiyt。但它仍然允许我注册。怎么了?
        3. 当我在具有Android 2.3.6的真实设备上运行工作代码(在模拟器上工作)时,它不起作用。它也不适用于具有ICS的设备。
        4. 感谢您的时间。

1 个答案:

答案 0 :(得分:0)

您正在使用已弃用的库方法GCMRegistrar.register注册GCM。这仍然有效,但它需要4.0.4之前的Android设备和已登录的Google帐户。

Google鼓励您停止使用已弃用的库,而是使用GoogleCloudMessaging类的注册方法,即使在较旧的Android版本中也不需要Google帐户。有关示例,请参阅their GCM Demo

检查播放服务的代码仅在切换到新注册方法时才有意义。

至于为什么弃用的注册方法在某些设备上不适合您,您必须包含logcat以获得帮助。