亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

很好奇QQ的實現方式是怎樣的。大家有什么思路嗎?

很好奇QQ的實現方式是怎樣的。大家有什么思路嗎?

iOS
慕萊塢森 2023-04-14 18:14:49
當QQ關閉時,如果有新的消息進來,app上的badge顯示數目會遞增。比如原來是2,新來了兩條,就變成了4.我了解到的APNS推送邏輯里,是在payload中定義應用的badge顯示條數,如下將顯示2:$body = array("aps" => array("alert" => '哈哈,能推送過來咯!',"badge" =>2,"sound"=>'default'));似乎沒有遞增的方式。如果要利用程序本地的代碼的話,則必須是用戶打開應用的狀態下,那個時候會有- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo被調用,但必須是應用打開狀態。
查看完整描述

2 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

之前我做的推送,也是這樣,在服務器端有一個消息隊列,每次把隊列長度作為badge的數字發送到手機端
我非常不建議做成數字遞增,因為這樣你就沒有機會重置數字,一旦服務端和手機端出現不同步的現象,這個數字就永遠是錯的

查看完整回答
反對 回復 2023-04-18
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

一句話:Badge的數值是由服務器控制的。所以只有一個問題,就是怎么保證客戶端顯示的數值就是當前未讀條目的計數。這就需要客戶端和服務器交流溝通了,也就是同步。

客戶端運行時,每看一條未讀信息,都給服務器發剩余的未讀數,服務器自行更新計數,好方便下次推送時決定Badge的數值。

客戶端關閉時,服務器收到給此用戶的新消息,未讀計數自然+1,再發通知過去。


查看完整回答
反對 回復 2023-04-18
  • 2 回答
  • 0 關注
  • 172 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號