每當添加新事件時,都會向用戶發送推送通知。如果在行中添加十個事件,則將向用戶發送十個推送通知,這是一種令人討厭的行爲。如何顯示累計推送通知,而不是顯示同時出現的多個通知?
我想要這樣:如果在行中添加了十個事件,或者在時間上添加了非常接近的對象,則只會向每個用戶發送一個推送通知,說:"#{event.name} and 19 others events added that match your interests."
。
這是我到目前爲止已經完成:
增加了射門last_sent_notification
在users
表。每次添加新事件時,都會檢查創建的事件是否在last_sent_notification
的2分鐘半徑內,並且會發出通知。
如果新創建的事件在last_sent_notification
的2分鐘半徑內,則會創建一個後臺作業,等待2分鐘用於其他即將發生的事件,並在2分鐘後觸發。如果在2分鐘等待期間創建新事件,則通知將考慮在2分鐘等待期間創建的所有事件。
這個問題的唯一缺點是:在添加事件時,通知不會立即發送。會有2分鐘的延遲。
有什麼設計模式或最佳解決方案可以更好地完成這項工作嗎?
只需按照文檔:http://developer.android.com/training/wearables/notifications/stacks.html – NSimon
@NicolasSimon它是在服務器端需要它。 –
那麼你到底在做什麼? – e4c5