獲取離線MQTT消息
更新時間:
為了簡化離線消息獲取機制,云消息隊列 MQTT 版系統在客戶端成功建立連接并通過權限校驗后,會自動加載離線消息并下發到客戶端。
注意事項
- 客戶端建立連接后,需要通過權限校驗才能自動加載離線消息。例如,若您使用的是Token驗證的方式,則需要完成Token上傳并通過校驗后才會收到離線消息。
- 離線消息生成需要一定的時間,因為推送的消息需要等待客戶端的ack超時才會被判成離線消息。所以,如果客戶端閃斷重連,不一定馬上可以獲取到剛剛的離線消息。延遲時間一般在5秒~10秒左右。
- 如果您的離線消息過多,即大于30條,云消息隊列 MQTT 版系統會分批(5秒一次,每次30條)下發離線消息。
說明 對于部分老用戶來說,有了自動加載機制,可不再使用原來的主動拉取的方式獲取離線消息,但繼續保留也無影響。
設置方法
您可以在消費端通過設置QoS和cleanSession兩個參數來決定客戶端是否需要獲取離線消息。
QoS和cleanSession參數的詳細說明,請參見名詞解釋。表 1. QoS和cleanSession的組合關系
QoS級別 | cleanSession=true | cleanSession=false |
QoS0 | 無離線消息,在線消息只嘗試推一次。 | 有離線消息,在線消息只嘗試推一次。 |
QoS1 | 無離線消息,在線消息保證可達。 | 有離線消息,所有消息保證可達。 |
QoS2 | 無離線消息,在線消息保證可達且只接收一次。 | 暫不支持。 |
文檔內容是否對您有幫助?