我如何在GCM服务器端的多播消息服务中添加注册ID



我开始在GCM上探索。请澄清以下内容。

使用SenderID(项目ID从Google API控制台获取)在GCM服务器上注册,不同的设备将提供唯一的注册ID。我已经使用以下代码将消息从devicelist中的DeviceID添加为DeviceID,将消息从服务器发送到所有设备。我通过记录logcat获得了设备的注册ID。

        Sender sender = new Sender("MY_API_KEY");

            Message message = new Message.Builder().collapseKey("1")
                    .timeToLive(3)
                    .delayWhileIdle(true)
                    .addData("message",
                      "this text will be seen in notification bar!!")
                    .build();
       MulticastResult result; 
ArrayList<String> devicesList = new ArrayList<String>();
             devicesList.add(deviceid1);
             devicesList.add(deviceid2);
            result = sender.send(message, devicesList, 1);

如上所述发送消息是正确的吗?

如果是这种情况,则如何设计释放特定应用程序后它将工作的代码?发布后,如何获得所有设备的注册ID?

您的服务器需要跟踪设备上的所有注册ID。因此,您需要一个数据库表来存储这些注册ID。然后,您需要公开Web服务或HTTP POST入口点,以便您的客户上传其注册ID。

设备成功地在Google GCM服务器上注册后,您将在GCMBaseIntentservice中的OnRegister()回调方法中接收注册ID。这是您要将注册ID上传到服务器的地方。

最新更新