圖片摘自其他作者.png
在開發(fā)過程中,IOS系統(tǒng)中已經(jīng)內(nèi)置消息推送,IOS開發(fā)者只需要根據(jù)IOS提供的方法規(guī)則去使用,其實(shí)谷歌也有自己的消息推送矛纹,只不過谷歌的消息推送在國內(nèi)會受到一些限制,并且國內(nèi)廠商一般會定制自己的系統(tǒng)光稼。
讓我們先了解一些名詞
推送
服務(wù)器定向?qū)⑾?shí)時發(fā)送至客戶端的功能或南。跟IM機(jī)制類似,只不過IM是實(shí)現(xiàn)端對端的交互钟哥,而推送只是服務(wù)端發(fā)送到客戶端迎献。
推送事例圖.png
長連接
客戶端和服務(wù)器之間始終建立著一個通信連接,在連接沒有中斷之前腻贰,客戶端和服務(wù)器之間可以隨時進(jìn)行通信吁恍。典型范例:Socket
短連接
通訊雙方數(shù)據(jù)交互時,就建立連接播演,數(shù)據(jù)發(fā)送完成后冀瓦,則斷開此連接。典型范例:HTTP
那么即時通信的實(shí)現(xiàn)是短連接還是長連接呢写烤?
其實(shí)都可以翼闽,只不過短連接實(shí)現(xiàn)的通信屬于一種偽即時通信,消息是存放服務(wù)器洲炊,客戶端定時任務(wù)訪問服務(wù)器有沒有新消息到感局,實(shí)現(xiàn)原理叫輪詢。而長連接可以真正的實(shí)現(xiàn)即時通信暂衡,原理其實(shí)就是推送询微。
推送的工作原理圖.png
國內(nèi)的第三方推送平臺
極光推送
個推
百度推送
小米推送
等等...
使用第三方推送平臺,BUG少開發(fā)效率較高狂巢,對于公司而言很好撑毛,但我們無法看到推送的實(shí)現(xiàn)原理,對于我們而言掌握更多唧领,便會更有競爭力藻雌。