Главное Свежее Вакансии Образование
Выбор редакции:
386 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Необычное свойство Push-уведомлений - время жизни

События проходят и теряют свою актуальность. Письмо, которое вы отправили человеку, сообщающее о новой акции не имеет смысла после конца акции. Как поступить? Пуш-уведомления умеют "умирать", когда в них больше нет необходимости.

TTL - (Time To Live) время жизни. Это важный термин в сети Интернет. Этим термином чаще всего описывается время жизни пакета TCP. Изначально, по стандарту RFC 791, время жизни (TTL) в протоколе IPv4 должно было измеряться в секундах (отсюда и название). Каждая секунда ожидания в очереди узла (например, маршрутизатора), а также каждый переход на новый узел, через который проходит датаграмма, должен был уменьшить значение TTL на одну единицу. На практике, это не прижилось и поле TTL просто уменьшается на единицу на каждом транзитном узле (хопе), через который проходит датаграмма. Это было сделано, чтобы пакеты, которые пошли через неверные маршруты не бродили по ним вечность.

В рамках push-уведомлений TTL задает время жизни уведомления в секундах. Более того, если задать его равным 0 (в PushAll -1), то либо уведомление придет немеделенно, либо никогда. По сути, этот параметр задает сколько секунд уведомление будет ждать клиента, пока он присоединиться к пуш-серверу.

Преимущества работы c TTL в Push-уведомлениях

Наши пользователи часто жаловались, что им приходит много уведомлений, если они давно не заходили в сеть. При этом эти уведомления могут быть "просрочены" на несколько дней, а сами уведомления могут исходить например от канала стриммера. Используя TTL, мы можем для уведомлений о стримах поставить время жизни на 2-3 часа, то есть примерно 10000 секунд. Тогда те, кто зашли в сеть (включили компьютер, открыли браузер, или присоединились к wi-fi) после этого срока не получат это уведомление.

Данный приём действительно экономит и время и средства. Доставляются только те уведомления, которые до сих пор актуальны. Это могут быть и выше описанные уведомления о стримах, и уведомления о акциях. Вы даже можете ставить TTL обычным новостным постам, дело в том, что новости могут терять актуальность со временем, либо скорее всего через 2-3 дня я их уже где либо слышал. Также есть история уведомлений, которая позволит увидеть все было в хронологическом порядке.

Что если пользователь пропустит что либо важное?

ya9mpK-xYHOKa2znkNYNgY_Am6d-mr1DTFnvIaEg

Пользователь всегда сможет увидеть уведомление в истории, а также, например дополнение для Google Chrome имеет раздел "пропущенные", если вы нигде не видели уведомление (ни на одном устройстве) тогда оно будет в этом разделе. Этот же раздел, позже, будет в приложении под Android и в веб-интерфейсе истории.

Как использовать TTL (время жизни) для моих уведомлений?

nl7eM13pqDM.jpg

Вы можете задать TTL по-умолчанию в разделе настроек вашего канала, либо при ручной рассылке задать определенный TTL для отправляемого уведомления. Через API вы можете передать параметр ttl. Осторожнее с использованием TTL = -1, да, по сути это значит что оно будет доставлено либо сейчас, либо никогда, но если клиенты в данный момент потеряли соединение - для них уведомление не дойдет. Хотя, скорее всего данный вариант удобен для проведения онлайн конкурсов.

Где работает TTL?

Он полностью работает для платформы Android и Chrome дополнения. В течении недели он будет добавлен в SocketPush и WebPush. Также если у вас на Email стоит большая задержка (например сутки) то для уведомлений также будет учитываться TTL, то есть на почту вы тоже не будете получать "просроченные" уведомления. К сожалению, с телеграмом сделать ничего не получится - PushAll просто передает в него сообщение и все, с этого момента оно считается доставленным.
+2
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.