2012-08-02 33 views
3

我正在玩Android SDK中给出的Google Cloud Messaging示例代码。客户端和服务器代码都可以正常工作。我在三个android设备上安装了GCM客户端android应用程序,当服务器运行时,每个设备都成功注册到GCM服务器。每当我尝试发送消息时,服务器都会将消息广播到所有三个设备。但我的问题是,我们是否可以将任何设备列入黑名单,或允许服务器向任何特定设备发送消息。如何限制Google云消息传递服务中的特定设备?

是否有任何方法限制使用服务器中为每个设备生成的注册ID的设备?

这里是发送推送通知

if (devices.size() == 1) {   
    String registrationId = devices.get(0); 
      if(!(registrationId .equalsIgnoreCase("APA91bE61KYmI4Qzn9NKkh6wkHr1ya8FIfGbc_gYJf0_33558IeFnj9j8j4EPRaJeSKJ_CK6_a9FQLt_CapLE4e_mvRaq3hytJalfjTBbkAxbLIdfdXyoxatSrDPmtxSdyaeiRV-Bav-4qOSlURH5mL69Fa9ktX8JFoow"))) 
      { 
          Message message = new Message.Builder().build(); 
          Result result = sender.send(message, registrationId, 5); 
          results = Arrays.asList(result); 
      } 
    } else { 
    // send a multicast message using JSON 
    Message message = new Message.Builder().build(); 
    MulticastResult result = sender.send(message, devices, 5); 
    results = result.getResults(); 
    } 

回答

3

服务器代码没有内置的方法来限制GCM-服务器一些设备,但你可以创建自己的黑名单,发短信比其他设备这个清单。

您可以创建您的devicesList,其中不包括registrationList在blackList中并将多播消息发送到此列表。

检查javadoc以获取有关GCM服务器端代码here的更多信息。

+1

嘿我也想发送推送通知给特定的设备,并根据你,我可以创建我想发送推送通知devicelist ..bt我的问题是我如何识别特定客户端(设备)的特定REGID。 。bcz我想发送差异差异推送通知差异差异客户端..如果你有任何想法,然后PLZ建议和指导我..谢谢.. – 2012-09-03 11:49:23

相关问题