其實是不用加shouldSave的。因為每次發送的時候,里面插入數據庫的都是一條新的notification(id不一樣),所以不加完全沒問題。加了反而導致用戶剛剛登錄后服務器發送離線通知給用戶,立刻刪除掉了這條通知,而接下來兩種情況:1.用戶若收到并發送回執,服務器執行delete操作沒有效果(當然刪除不存在的數據應該是沒問題的);2. 用戶沒有收到,但服務器已經刪除了這條通知,那么這就丟失數據了。 第二種情況雖然罕見(用戶剛登錄立刻掉線,來不及收到服務器正在發送的數據或收到了數據,發送回執出現網絡斷開),但確實是bug了。
2017-02-26
服務器重啟了,aliasUsernameMap就清空了,那別名推送就用不了啊。。是個小缺陷。從視頻使用別名里還是學到很多知識啊,贊一個!
PresenceUpdateHandler這里的process method 忘記刪除移除數據庫代碼notificationService.deleteNotification(notification);了我感覺