将GCM消息发送给特定用户

Sun*_*nny 8 android google-cloud-messaging

在我的应用程序中,我想向特定用户发送通知,而不管设备如何.用户可以从任何设备登录应用程序.

这是我第一次使用GCM.我在阅读文档时说,当设备向GCM服务器注册时,设备会将该唯一ID发送给服务器,然后保存该值以发送消息.

那么如何在从不同设备登录应用程序时向特定用户发送通知?

Ale*_*Bcn 6

在给定应用/设备的情况下,此唯一ID(也称为注册ID)是唯一的,因此如果此用户在其他设备上登录GCM服务,则会生成另一个注册ID.

GCM服务器向Android应用程序发出的ID,允许它接收消息.一旦Android应用程序具有注册ID,它就会将其发送到第三方应用程序服务器,服务器使用它来识别已注册接收给定Android应用程序的消息的每个设备.换句话说,注册ID与特定设备上运行的特定Android应用程序绑定.

当你说日志我认为你正在服务器,对吧?

我问它是因为如果你的应用程序针对的是4个API前版本,GCM服务需要一个Google帐户.

运行Android 4.0.4或更高版本的设备不需要Google帐户.

如果GCM在设备上检测到Google帐户,则可以访问该服务.如果GCM未检测到该帐户,则会返回ACCOUNT_MISSING错误.

因此,如果您使用之前在Google帐户中注册的其他设备,则可能会使用不属于您的Google帐户访问GCM服务.

但如果重要帐户是由您的服务器管理的帐户,那么我认为这并不重要.

更新:

您必须将通知发送到属于连接到服务器的用户的所有registrationID.如果您在服务器上保留多个设备,则无法知道当前正在使用的设备.

您可以使用多播

参考:GCM