Зачем нужен silent push
Основная задача silent push — устранить задержку при открытии приложения. Без фоновой синхронизации приложение при запуске делает запрос к серверу и показывает контент только после ответа. С silent push данные уже кешированы: главный экран с персонализированными рекомендациями или каталог акций загружается мгновенно.
В e-commerce это применяется для:
— Предзагрузки персонализированного фида — актуальные рекомендации готовы к моменту открытия приложения
— Обновления остатков — информация о наличии товаров актуальна без явного запроса
— Синхронизации Remote Config — новые параметры персонализации применяются до следующего сеанса
— Обновления корзины — если пользователь добавил товары через веб-сайт
Технические ограничения
| Платформа | Механизм | Ограничение |
|---|---|---|
| iOS (APNS) | content-available: 1 |
Дросселируется системой; ~30 сек на обработку |
| Android (FCM) | data-only message |
Приложение должно быть в background, не terminated |
Важно: iOS может проигнорировать silent push при включённом Low Power Mode или если приложение несколько дней не открывалось. Не рассчитывайте на silent push для важных обновлений — только для оптимизации UX.
Отличие от Background Fetch
Silent push пробуждает приложение по инициативе сервера. Background Fetch — это плановые фоновые загрузки по инициативе ОС (iOS сама решает, когда предоставить время процессора). Для предсказуемого обновления данных в определённый момент используется silent push; для регулярной фоновой синхронизации без точного тайминга — Background Fetch.
Silent push и аналитика персонализации
Важный нюанс: silent push не отображается как уведомление, значит не входит в метрики push delivery rate и open rate. Если часть вашего pipeline персонализации строится на silent push (например, обновление user profile до открытия), убедитесь, что этот шаг фиксируется в собственных логах приложения — стандартные метрики push-каналов его не покажут.