2012-10-17 48 views
1

我開始在GCM上進行探索。請澄清以下事項。如何管理在GCM服務器端的多播消息傳遞服務中添加註冊ID?

通過與使用SenderID(項目編號從谷歌API控制檯中看到它),不同的設備將賦予唯一的註冊ID GCM服務器註冊。我已經使用以下代碼,通過在設備列表中添加註冊ID作爲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?

回答

2

您的服務器需要跟蹤設備的所有註冊ID。因此,您需要一個數據庫表來存儲這些註冊ID。然後,您需要公開Web服務或HTTP POST入口點以供客戶端上載其註冊ID。

後的設備與谷歌GCM服務器註冊成功,您將收到在GCMBaseIntentService的onRegistered()回調方法的註冊ID。這是您想要將註冊ID上傳到您的服務器的位置。