2012-08-02 63 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

相關問題