因为服务端用的是mqtt推送,现在我这边只有打开程序的时候能收到推送消息,后台和没打开的时候,不能收到,我想问能不能设置成像普通弹框通知那样来提示推送消息,怎么设置?要不要通过APNS呢
怪我咯2017-04-17 17:30:59
iOS在後台留給程式取得網路請求的時間非常短,而且你還想在未啟動app時取得推送,只能透過APNS,極光推送的原理也是基於APNS的!
MQTT是一種基於TCP/IP傳輸的即時通訊協議,類似socket,這個和APNS是完全不同的通訊機制。
APNS是需要蘋果提供的推送證書,以及蘋果提供的App開發和上線倆種不同的證書,需要在程式中向蘋果伺服器註冊當前登陸設備,獲取deviceToken,然後告訴你的伺服器,你得伺服器通過向蘋果伺服器發送訊息,然後由蘋果伺服器再發送到你的裝置。
MQTT只需要你自己搭建的MQTT伺服器,然後在程式中通過流,建立和你的伺服器的長鏈接,為了保證安全,這裡一般還要放自己的SSL證書。建立長連結後,你得程式就可以和伺服器訂閱和互發訊息了!當你訂閱的topic有新內容時,就會透過這個長連結以串流的形式傳送到裝置上。你只需要在接收端,做自己想做的事,可以彈出框提示用戶,也可以更新數據,更新UI