我知道在从不版本的GCM中,您可以根据userId而不是设备ID来关闭通知。这基本上将此操作与用户使用相同Google帐户的所有设备同步。可在此处找到此文档页面,非常有用
http://developer.android.com/google/gcm/notifications.html
我唯一不理解的是: 我是否需要在我的应用程序中编写代码以联系GCM服务器或我自己的服务器以触发其他设备上的解雇,或者当通知被解除或打开时是否自动发生?
这是导致我认为你需要手动完成的部分,但我不确定: "您应该设计您的应用以处理应用收到解雇消息但尚未显示正在被解雇的通知的情况。"
答案 0 :(得分:3)
是的,您必须在应用中编写代码以触发解雇消息,并处理它。
注意:通知解雇消息与任何其他上游消息类似,这意味着它将被传递到属于指定notification_key的其他设备。您应该设计应用程序以处理应用程序收到解雇消息但尚未显示正在被解除的通知的情况。您可以通过缓存解雇然后将其与相应的通知进行协调来解决此问题。
这是有道理的,因为GCM不知道您的应用如何处理到达的GCM消息。您的应用可能会显示通知(如果已在属于同一用户的其他设备上处理,则需要将其解除),或者它可能会与服务器执行某些后台同步(在这种情况下,不需要发送解雇消息)。
此新功能的重点是您将单个消息发送到单个通知密钥,而不是将其发送到多个注册ID,并且安装在属于同一用户的任何设备上的应用程序并不需要了解所有这些设备的注册ID。它只需要知道notification_key以便与其他设备通信。
答案 1 :(得分:0)
我认为需要联系你的服务员 这样可以保持流程一致性,并且在联系GCM服务器发送消息时,您需要提供API密钥和项目ID ...这对于存储在移动应用程序中至关重要。
这就是为什么你应该联系你的服务器,反过来,你的服务器将联系GCM服务器
这是我的意见。