Php GCM有时起作用,有时不起作用';t在同一个设备中?

Php GCM有时起作用,有时不起作用';t在同一个设备中?,php,android,google-cloud-messaging,Php,Android,Google Cloud Messaging,我使用gcm在android中创建聊天应用程序。一切正常,从模拟器和设备发送和接收消息,直到我遇到问题 问题是我尝试了2款设备,第一款是三星galaxy gio,第二款是galaxy ace 第一天我尝试成功地将消息从ace发送到gio并收到消息,但从gio发送到ace我什么也没有收到 第二天我的gcm再次出现奇怪的问题,我成功地将消息从gio发送到Ace并接收到消息,但从Ace发送到gio,我什么也没有得到。。第二天的问题与第一天的问题相反,为什么我会遇到这样的问题?结果gcm显示成功发送了消

我使用gcm在android中创建聊天应用程序。一切正常,从模拟器和设备发送和接收消息,直到我遇到问题

问题是我尝试了2款设备,第一款是三星galaxy gio,第二款是galaxy ace

第一天我尝试成功地将消息从ace发送到gio并收到消息,但从gio发送到ace我什么也没有收到

第二天我的gcm再次出现奇怪的问题,我成功地将消息从gio发送到Ace并接收到消息,但从Ace发送到gio,我什么也没有得到。。第二天的问题与第一天的问题相反,为什么我会遇到这样的问题?结果gcm显示成功发送了消息,但在设备中没有收到消息。我如何解决这个问题


谢谢

由于这种不一致的行为,我认为您的问题是更新注册ID。GCM服务器有时会使注册ID无效,您必须从设备更新该ID。以下是如何:

当应用程序被更新时,它应该使现有的应用程序失效 注册ID,因为不能保证与新版本一起使用。 因为在应用程序运行时没有调用生命周期方法 更新后,实现此验证的最佳方法是存储 存储注册ID时的当前应用程序版本。然后 启动应用程序时,将存储的值与 当前应用程序版本。如果它们不匹配,则使 存储数据并再次启动注册过程

请在此处阅读更多信息:

关于如何实现客户端:

服务器端:


请注意,如果您没有第三方服务器,并且您的应用程序正在与其他Android设备进行“点对点”通信,则应在它们之间同步此数据。

您是否确保更新服务器端的设备令牌?GCM文档说明它可以随时更改。否。如果你有更新GCM最新信息的链接(如我上面的案例)。请给我看。我是android和GCM的新手。