Android 如何使用GCM通知同步

Android 如何使用GCM通知同步,android,notifications,push-notification,google-cloud-messaging,Android,Notifications,Push Notification,Google Cloud Messaging,我知道,在never版本的GCM中,您可以根据用户id而不是设备id取消通知。这实际上是将此操作与用户使用同一google帐户的所有设备同步。可以在这里找到这方面的文档页面,它非常有用 我唯一不明白的是: 我是否需要在我的应用程序中编写代码来联系GCM服务器或我自己的服务器,以便在其他设备上触发解除通知,还是在解除或打开通知时自动发生 这让我认为您需要手动操作,但我不确定: “您应该设计应用程序来处理应用程序收到解雇消息但尚未显示被解雇通知的情况。”我认为需要联系您的服务人员 这将保持流的一致

我知道,在never版本的GCM中,您可以根据用户id而不是设备id取消通知。这实际上是将此操作与用户使用同一google帐户的所有设备同步。可以在这里找到这方面的文档页面,它非常有用

我唯一不明白的是: 我是否需要在我的应用程序中编写代码来联系GCM服务器或我自己的服务器,以便在其他设备上触发解除通知,还是在解除或打开通知时自动发生

这让我认为您需要手动操作,但我不确定:
“您应该设计应用程序来处理应用程序收到解雇消息但尚未显示被解雇通知的情况。”

我认为需要联系您的服务人员 这将保持流的一致性,并且在联系GCM服务器发送消息时,您需要提供API密钥和项目Id。。。这对于存储在移动应用程序上至关重要

这就是为什么你应该联系你的服务器,反过来,你的服务器会联系GCM服务器


这是我的意见。

是的,你必须在应用程序中编写代码来触发解雇消息,并对其进行处理

注意:通知解除消息与任何其他上游消息类似,这意味着它将被传递到属于指定通知密钥的其他设备。您应该设计应用程序来处理应用程序收到解雇消息但尚未显示被解雇通知的情况。您可以通过缓存解雇,然后将其与相应的通知进行协调来解决此问题

这是有道理的,因为GCM不知道你的应用程序如何处理收到的GCM消息。您的应用程序可能会显示通知(如果该通知已在属于同一用户的另一台设备上处理,则需要取消通知),或者可能会与服务器进行后台同步(在这种情况下,无需发送取消通知消息)


这一新功能的要点是,您可以将一条消息发送到一个通知密钥,而不是发送到多个注册ID,并且安装在属于同一用户的任何设备上的应用程序不需要知道所有这些设备的注册ID。它只需要知道通知密钥即可与其他设备通信

谢谢你的回答。所以我必须手动触发同步消息?我有点不明白这个新功能的意义。因为所有较旧的应用程序都必须重写才能使用此功能,而在此之前,您可以通过定义自己的清除通知消息并将其发送到用户设备来完成此操作。嗯,在第二次查看和更多搜索之后,我发现它应该通过移动应用程序发送到所有使用同一google帐户注册的设备,但它将使用notification_key,这是一个与从GCM服务器获取的regId一样的密钥,表示同一google帐户下的多个设备,并且在发送消息时,首先应该使用notification_key(不确定)。。。看看这里。。。一些有趣的信息谢谢你的解释。我发现这种逻辑性很强,但这种新特性的意义毫无意义,因为唯一新的东西是通过一个标识符而不是一个列表来引用设备组。在这之前,同样的事情也是可能的,您只需要将多播消息发送到用户设备并自己定义消息。我对这个事实有点失望,但你的答案很好,正是我想要的。唯一有帮助的是链接到一些最佳实践实现的示例,所以如果您知道一些示例,请添加它作为功能参考。