如何限制Google云消息传递服务中的特定设备?
问题描述:
我正在玩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();
}
答
服务器代码没有内置的方法来限制GCM-服务器一些设备,但你可以创建自己的黑名单,发短信比其他设备这个清单。
您可以创建您的devicesList,其中不包括registrationList在blackList中并将多播消息发送到此列表。
检查javadoc以获取有关GCM服务器端代码here的更多信息。
嘿我也想发送推送通知给特定的设备,并根据你,我可以创建我想发送推送通知devicelist ..bt我的问题是我如何识别特定客户端(设备)的特定REGID。 。bcz我想发送差异差异推送通知差异差异客户端..如果你有任何想法,然后PLZ建议和指导我..谢谢.. – 2012-09-03 11:49:23