Всякий раз, когда добавляется новое событие, пользователю отправляется push-уведомление. Если в строке добавлено десять событий, будет отправлено десять push-уведомлений, поведение которых будет раздражать.Как показать накопительное уведомление push вместо того, чтобы показывать несколько уведомлений, которые, как правило, появляются одновременно?
Я бы хотел, чтобы это было так: если десять событий добавлены в строку или добавлены очень близко друг к другу относительно времени, каждому пользователю будет отправлено только одно push-уведомление: "#{event.name} and 19 others events added that match your interests."
.
Вот что я сделал до сих пор:
Добавлено поле last_sent_notification
в users
таблице. Каждый раз, когда добавляется новое событие, проверяется, что созданное событие не находится в радиусе 2 минут от last_sent_notification
, и выдается уведомление.
Если новое созданное событие находится в радиусе 2 минут от last_sent_notification
, создается фоновая работа, которая будет ждать 2 минуты для любого другого предстоящего события и будет срабатывать через 2 минуты. Если в течение 2-минутного ожидания создается новое событие, в уведомлении будут учтены все события, созданные в течение этого 2-минутного ожидания.
Единственным недостатком этой проблемы является то, что при добавлении события уведомление не будет отправлено сразу. Будет отложено 2 минуты.
Есть ли какой-либо шаблон дизайна или оптимальное решение, которое могло бы лучше выполнить эту работу?
Просто следуйте документам: http://developer.android.com/training/wearables/notifications/stacks.html – NSimon
@NicolasSimon требуется на сервере. –
Так что же вы остановились в конце? – e4c5