Android訊息推送之GCM方式(二)

2021-06-15 01:50:20 字數 659 閱讀 1782

《宣告》

上一節講了gcm方式實現前的一些必要準備工作,和訊息接收的實現。

這一節我們來講一下傳送訊息的實現。

上一節也已經講了,gcm方式其實並不區分嚴格的客戶端和服務端,對於開發者來說,任何一方都可以是客戶端或者服務端,只要搭建的環境滿足兩個端的要求。也就是說,對於使用者來說,可以既是傳送方也可以是接收方。這樣,gcm方式也就不只是可以用來推送廣告了,同樣也可以拿來做即時聊天。但限於gcm的種種缺陷,用來做即時聊天並不是最好的方式。(對於訊息推送的各種方案對比和選擇,可以瀏覽我的另一篇博文

然後,我們寫乙個main函式來執行傳送乙個訊息:

public static void main(string args)  catch (ioexception e) 

}

其中,apikey是你在谷歌api控制台頁面生成的乙個字串(在上一節有講到),用來驗證訊息傳送方的合法性的。

deviceregid是由客戶端生成。在客戶端完成註冊後,呼叫gcmregistrar.getregistrationid()得到,並應該傳送給伺服器儲存起來。

就這麼簡單,還可以使用send的其它過載方法,給多個註冊id傳送訊息。

以上是服務端傳送訊息的簡單實現。

客戶端**:

服務端**:

Android訊息推送原理

出處 產品的角度 功能需要,比如說資訊類產品的新聞推送 工具類產品的公告推送等等 運營的角度 活動運營需要,比如說電商類產品的 活動 召回使用者 提高活躍度等等 作為開發者,不要有需求就接,應該多思考 多理解使用者 功能的使用場景,有助於我們更好地去選擇合適的開發方式 作業系統有自身的訊息推送功能 ...

android訊息推送(二)之 XMPP協議

xmpp協議,中文名為可擴充套件通訊和表示協議,是一種以xml為基礎的開放式實時通訊協議,它將需要實時通訊的訊息嵌入到xml結構體中,不僅具有很好的可擴充套件性,還有較強的可讀性。xmpp協議規定,每個客戶端是使用jid來作為身份標識,例如 user domain resource 比如說 from...

android訊息推送 mqtt協議

對與訊息推送是什麼個概念,在此就不贅述啦。google自帶的c2md服務,可以幫助我們實現該功能,可以該伺服器在國外,所以鑑於網速等各種條件限制,我們也沒法實現。為解決該問題,在讀了大量的部落格等質料之後,終於見到啦陽光。第三個是由ibm提供的mqtt協議的實現,就相當於乙個 開啟1883埠,在se...