FAQ по вебпушам
Пуши
- Какой срок жизни у вебпуша?
Срок жизни пуша, он же ttl (time to live) зависит от настройки актуальности рассылки. Он может принимать значения от 10 минут (для транзакционных рассылок) до четырёх недель.
Последнее - максимальное ограничение от Firebase (сервис для отправки пушей).
Актуальность можно указать и конкретной датой и временем.
Например, 8 марта 23:59 - чтобы не поздравлять с уже прошедшим праздником.
В таком случае в момент отправки пуша мы смотрим на период актуальности, высчитываем ttl и отправляем эту информацию в firebase вместе с пушом.
- Что происходит с пушом, если браузер свёрнут/закрыт?
Если браузер свёрнут, пуш отрисуется, клиент сможет его сразу увидеть.
Если браузер закрыт, пуш придёт, когда браузер будет снова запущен.
- Что означает статус “открыто” у вебпуша?
Мы получаем статус “открыто”, когда вебпуш пришёл в браузер и отрисовался.
Firebase Cloud Messaging (FCM) и токены
- Когда браузер регистрируется в FCM?
При переходе на сайт.
- Когда обновляется токен?
При чистке кэша и когда новый токен передаст Firebase.
- Когда браузер получает токен?
Когда клиент заходит на сайт с включённым разрешением на показ уведомлений или даёт разрешение во время сессии.
При этом браузер сразу передаёт его в Mindbox.
- Может ли токен обновиться без захода на сайт?
Да, сервис-воркер (SW) периодически отправляет к нам обновлённый токен.
- Когда меняется токен?
- Когда браузер удаляет токен
- Когда пользователь почистил кэш на сайте
- Что произойдёт, если клиент почистил кэш?
Затрётся токен. Его значение обновится при перезагрузке страницы.
Обновится значение идентификатора браузера (DeviceUUID) - мы получим новый из трекера при заходе на сайт.
До этого он не сможет получать пуши, потому что для отправки используется связка токен-устройство, а у Mindbox пока устаревшие данные.
- Можно ли использовать один проект в FCM для нескольких точек интеграции?
Да, можно.
Подробнее: проект в FCM - это хранилище токенов вашего сайта(ов).
При этом токен уникален в рамках своего проекта и идентифицирует конкретный браузер на конкретном сайте.
Поэтому можно использовать одно хранилище токенов, ведь каждый из них относится к определённому ТИ, то есть сайту.