Android SDK で提供されている Google クラウド メッセージングのサンプル コードをいじっています。クライアント コードとサーバー コードの両方が正常に動作します。GCM クライアント Android アプリを 3 つの Android デバイスにインストールしました。サーバーが実行されていると、各デバイスが GCM サーバーに正常に登録されます。メッセージを送信しようとすると、サーバーは 3 つのデバイスすべてにメッセージをブロードキャストします。しかし、私の質問は、デバイスのいずれかをブラックリストに載せたり、サーバーが特定のデバイスにメッセージを送信できるようにしたりできるかどうかです。
各デバイスのサーバーで生成された登録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();
}