Android消息推送之GCM方式(二)
<聲明>
轉載請保留本來源地址:
http://blog.csdn.net/wzg_1987/article/details/9148023
上一節講了GCM方式實現前的一些必要準備工作,和消息接收的實現。
這一節我們來講一下發送消息的實現。
上一節也已經講了,GCM方式其實并不區分嚴格的客戶端和服務端,對于開發者來說,任何一方都可以是客戶端或者服務端,只要搭建的環境滿足兩個端的要求。也就是說,對于用戶來說,可以既是發送方也可以是接收方。這樣,GCM方式也就不只是可以用來推送廣告了,同樣也可以拿來做即時聊天。但限于GCM的種種缺陷,用來做即時聊天并不是最好的方式。(對于消息推送的各種方案對比和選擇,可以瀏覽我的另一篇博文http://blog.csdn.net/wzg_1987/article/details/9150945)
首先,你需要導入4個包,如果你已經在下載了GCM的服務包(下載方式見上一篇準備工作相關內容),在sdk安裝目錄/extrats/google/gcm文件夾下的gcm-server項目中,將lib文件夾里的json-simpleXX.jar,junit.jar,mockito-all-XX.jar和dist文件夾里的gcm-server.jar加到你的項目里。junit那個可以不用,它是gcm代碼內部做單元測試使用到的。
然后,我們寫一個main函數來執行發送一個消息:
public static void main(String[] args) {
Sender sender = new Sender(apiKey);
Message message = new Message.Builder().addData("mine", "test2").build();
Result result = null;
try {
result = sender.send(message, deviceRegId, 5);
System.out.println(result.getMessageId());
} catch (IOException e) {
e.printStackTrace();
}
}
其中,apiKey是你在谷歌api控制臺頁面生成的一個字符串(在上一節有講到),用來驗證消息發送方的合法性的。
deviceRegId是由客戶端生成。在客戶端完成注冊后,調用GCMRegistrar.getRegistrationId()得到,并應該發送給服務器保存起來。
就這么簡單,還可以使用send的其它重載方法,給多個注冊id發送消息。
以上是服務端發送消息的簡單實現。
客戶端代碼:http://download.csdn.net/detail/wzg_1987/5662225
服務端代碼:http://download.csdn.net/detail/wzg_1987/5669419
總結
以上是生活随笔為你收集整理的Android消息推送之GCM方式(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信内测新玩法:朋友圈加入共同回忆功能
- 下一篇: 分析师称中国黄牛都看好iPhone14: