問題描述做IM即時聊天,收到消息會在App的icon上顯示小紅數字角標,有幾條則有幾條未讀消息, 然后聊天列表里是具體某一個人的未讀消息的條數,列表各個條數加起來就是推送的總條數,點開讀取某個人的消息則角標是讀取了多少條則減掉多少條,這個邏輯貌似沒什么問題。 當app未啟動的時候,或者是按home鍵退出到后臺kill掉app的情況下仍能收到通知消息,單是此時角標不會遞增,遍尋百度和google,仍然無果:問題出現的環境背景及自己嘗試過哪些方法未啟動或是被kill掉進程的App,是無法執行到App里的代碼進行遞增邏輯的,所以只能通過服務器badge字段設置通過服務器設置,服務端得知道客戶端讀取了多少條,得上報未讀條數,這個時候貌似答案已經很明朗了,就這么干靜默推送是沒有消息顯示和聲音的,據說靜默推送是可以有幾十秒時間執行后臺任務的,但是每次推10條左右(后臺循環3秒推一次)就戛然而止了,后來了解到蘋果規定1小時之內后臺任務的使用次數是有限個位數次的...所以...不知道咋說(可人家微信的消息角標是一直可以遞增的)...可怕的事情發生了,就是當開啟飛行模式的時候,把所有的未讀消息讀取點掉,然后再退出到后臺kill掉App,隨即后端瘋狂推幾十條消息, 此刻未讀條數并未及時上報,所以這個操作會造成未讀條數前后端不一致,用戶感知到數據異常的話,就會很反感...卸載App等操作因為微信已經完美實現了這個功能,不知道他們是如何實現的,所以這就很尷尬了...你期待的結果是什么?實際看到的錯誤信息又是什么?期待有網友提供思路,先行感謝
- 1 回答
- 0 關注
- 993 瀏覽
添加回答
舉報
0/150
提交
取消