Зачем нужен 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-каналов его не покажут.