【发布时间】:2013-10-24 05:11:40
【问题描述】:
我一直在为即将到来的项目开发 GCM 推送通知,但我在其实现方面遇到了一些困惑。我关注了以下链接:
- http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/
- http://developer.android.com/google/gcm/client.html
我最终得到的实现在模拟器上工作得很好(不是在所有模拟器上)。这是我的注册实现的link。
- 它适用于在平台 4.2.2 上运行的模拟器
- 它不适用于在平台 2.3.3 上运行的模拟器
到目前为止,我的经验告诉我,在客户端,必须确保以下事项才能正确启用 GCM:
- 已安装 Google Play 服务
- 设备已与 Google 帐户同步。
我说的对吗?
所以我有以下问题要问:
- 在实施 GCM 时我应该担心哪些客户端依赖项?我应该在我的代码中检查什么?
- 当我取消注释上述代码中从 110 到 114 的行以检查播放服务时,我收到以下错误日志 http://pastebin.com/C2BJkiyt 。但它仍然允许我注册。怎么了?
- 当我在装有 Android 2.3.6 的真实设备上运行工作代码(在模拟器上工作)时,它不起作用。它也不适用于具有 ICS 的设备。
感谢您的时间。
【问题讨论】:
-
对于您的错误,您正在尝试在不关闭警报对话框的情况下开始活动。这是内存窗口泄漏的错误。
-
在 2.3.3 平台上运行的模拟器已与 google 帐户同步。
-
您需要查看客户端是否注册了Google play账号?移动端是否安装了谷歌播放服务?
-
@AnAndroid 我编辑了我的问题,我不确定客户端是否需要安装游戏帐户和服务。关于您之前的评论,我该如何防止开始活动?
-
@URAndroid 对不起,我没听懂你说的。模拟器未与谷歌帐户同步。即使我与谷歌帐户同步,它仍然无法正常工作,当我点击注册按钮时,它会将我导航到 settings->account 中的帐户设置选项。
标签: android android-emulator google-cloud-messaging