在我的应用程序中,我想向特定用户发送通知,而不管设备如何。 用户可以从任何设备登录该应用程序。
这是我第一次使用GCM。我在阅读文档时说,当设备向GCM服务器注册时,设备会将该唯一ID发送给服务器,然后保存该值以发送消息。
然后,如何在从不同设备登录应用程序时向特定用户发送通知?
答案 0 :(得分: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。如果您在服务器上保留多个设备,则无法知道当前正在使用的设备。