要实现一个通知推送的功能,但是现在没有任何思路,不知道现在市场上的应用都是使用什么方案来实现信息推送?
能否详细介绍下这些方案?
巴扎黑2017-04-17 13:54:14
1、GMS:google messange server這個別指望了,我大天朝
2、現在普遍採用的方法是:在應用啟動時開啟一個PushService,去服務端進行一個長連接(mqtt、xmpp協議等等),然後由服務端透過長連線推播訊息到PushService,PushService接收到訊息之後產生一個notification。可以自己搭建推播伺服器,但建議使用第三方的SDK,例如信鴿、極光推送、百度推送,大部分需求都是可以滿足的。
用2方法做的話可能會出現一個問題,並不能保證PushService一直存活,所以要解決怎麼保證PushService不會被殺死。
黄舟2017-04-17 13:54:14
@Akioss 說的2確實是常用的方式,PushService的話 alarmmanger可以做一個定時任務,定時給伺服器發送心跳,同時也能保證pushservice 是活的,如果不在,可以在起。
伊谢尔伦2017-04-17 13:54:14
目前,市場上的應用多數的解決方案是使用第三方推送服務。
我們的解決方案是讓開發者在客戶端整合我們的 Android SDK,服務端可透過 SDK 或使用 RESTful API,向 Android 用戶端發送訊息。
在即時性方面,Android SDK 會啟動一個後台的 Service,創建並保持到雲巴伺服器的長連接,從而保證了訊息推送的即時性。
而且,當客戶端目前不在線上的時候,我們可以支援 離線訊息 的功能,保證訊息送達客戶端。
此外,面對Android 5.0 以上的平台,應用程式進入後台就會被殺死,導致用戶收不到App 訊息推播的問題,我們也對現有的方案進行升級,整合了華為和小米廠商頻道,使用雲巴推送可一鍵對幾種廠商的機型推送,保障到達率。