我们一直在尝试开发一个使用Google的c2dm服务的Android应用程序。 当我们在清除所有数据后启动应用程序时,应用程序接收到c2dm消息就好了,但是在一段时间(可能是2分钟)之后,消息拒绝到达。
我们还检查了从服务器推送c2dm消息后收到的代码,代码成功(代码号200没有错误)。
在Stack Overflow上搜索相关帖子后,我们发现了这篇文章: Why do Android C2DM push messages not always arrive? 但我们确认每次申请开始时我们都不会注册到c2dm服务。
在我们的案例中似乎有什么问题?
我们使用android 2.2 API 8版本。
提前致谢, 标记
答案 0 :(得分:2)
您应该始终牢记Google的C2DM允许每天的特定邮件限制。我想在2-3分钟内发送大量邮件(客户聊天或类似的东西)可能是你问题的根源。
此外,请记住,无法保证消息将会到达。根据Google的C2DM简介: C2DM不保证交付或消息顺序。但您可能已经知道这一点。
我在想,如果你的2-3分钟平均值是一个规则,那么可能是消息的限制可能是原因。尝试发送更少的消息,看看间隔是否不会变大。
答案 1 :(得分:0)
“也许2分钟” - 你应该首先确认一下。你必须澄清:
请记住,C2DM消息无法保证。有些人不会到达。
另请注意,有时Android设备“脱落”c2dm并且在一段时间内不接收消息。您将在某些网络上看到类似的效果(例如,根据我的经验,某些C2DM消息不通过wifi网络传送,因此请尝试使用3G)。