Закажите демонстрацию

Почему Push уведомления не доставляются?

15 апреля 2021 года
Самый востребованный и динамично развивающийся канал коммуникаций с клиентами на сегодняшний день - это Push уведомления в мобильные приложения. Главными причинами такой востребованности являются:
  • низкая стоимость Push, часто равная нулю;
  • высокий уровень отклика.
Push уведомления - это не гарантированный канал доставки, и проблема, с которой сталкиваются компании при самостоятельном запуске Push - это уровень доставки, который обычно варьируется от 50% до 70%. То есть, от 30% до 50% сообщений либо не будут доставлены вовсе, либо, если компания имеет необходимые технологии для использования каскадных сценариев доставки, будут переотправлены в SMS или по другим каналам. Это значительно повышает затраты (для крупных компаний это миллионы рублей ежемесячно).

В результате компания может использовать бесплатный и наиболее эффективный (с точки зрения отклика) канал коммуникаций в виде Push уведомлений, но не может обеспечить доставку значительной части таких сообщений.

В чем же причины того, что Push уведомления не доставляются в мобильные приложения?
Особенности устройств китайских производителей
Мобильные устройства на базе ОС Android выпускаются большим количеством производителей в Китае, которые всячески оптимизируют автономность, производительность и другие характеристики своих устройств. Из-за этого активность приложения в фоне может быть ограничена. Если приложение запущено и находится в памяти устройства, то уведомления доставляются. Но большую часть времени телефон не используется, а если приложение давно не запускалось пользователем, проблемы с доставкой усугубляются.

Проблемы с доставкой Push на различные китайские Android устройства подтверждаются множеством статей, содержащих рекомендации для пользователей по настройке своих устройств. Но повышение уровня доставки в целом - это гораздо более сложная задача, которая требует узкоспециализированной экспертизы, значительных усилий и ресурсов со стороны разработчика.
Сетевые проблемы
Если у устройства отсутствует доступ к сети интернет, Push уведомление не будет доставлено. В облачных Push сервисах мобильных платформ Android и iOS учтены ситуации, когда на устройстве нет Интернета. Какое-то время сообщение находится в очереди и отправляется при доступности устройства, если его срок не истек или оно не было замещено другими сообщениями.

Конечно, отправитель не может влиять на фактическое подключение устройства получателя к Интернету. Но можно повлиять на доставляемость сообщений при появлении устройства в сети. Это важно, так как покрытие мобильной сети и доступ к Wi-Fi есть не везде, а периодическое отсутствие Интернета на устройстве - нормальная ситуация.

Кроме того, в некоторых случаях операционная система может ограничивать доступ к сети какого-либо определенного приложения. Это может привести к тому, что Push не доставится, придет с задержкой или информация о доставке не будет передана приложением на сервер-отправитель. У подобных проблем есть решения, реализуемые на стороне мобильных приложений, и их нужно активно применять.
Версии операционных систем
Со временем мы заметили, что уровень доставки Push на разные версии ОС может отличаться. Часто это коррелирует с оптимизациями энергопотребления и улучшениями, связанными с функционалом самих Push. Нововведения в ОС могут ухудшить долю доставляемых сообщений.

Таким образом, выход новых версий мобильных ОС может как повысить, так и понизить процент доставки Push. В любом случае для поддержания высокого качества Push сервиса от разработчика требуется мониторинг нововведений и своевременное применение лучших практик.
Отключение вендоров от сервисов Google
В конце 2019 года компания Google закрыла доступ к своим сервисам для компании Huawei. Это коснулось и работы Push. В результате устройства бренда Huawei и его суббренда Honor, выпущенные после ноября 2019 года, перестали получать Push сообщения через Firebase Cloud Messaging от Google. Отправка Push на довольно большой сегмент устройств нарушилась.

Huawei запустили собственный Push сервис, использование которого наряду с Apple Push Notification service и Firebase Cloud Messaging позволяет полноценно отправлять Push на устройства компании.
Невозможность уведомить о доставке
Важно не только доставить Push, но и знать статус его доставки. Случаются ситуации, когда Push считается недоставленным, хотя фактически он был доставлен на устройство, а приложение не смогло уведомить об этом сервер отправителя.

Статусы доставки нужны для использования каскадных сценариев отправки сообщений и оценки эффективности маркетинговых кампаний. Если в случае недоставки Push сообщение отправляется по SMS или другому каналу, отсутствие статуса доставки - это дополнительные затраты компании. Компания дополнительно заплатит за SMS, хотя это не требуется, так как сообщение уже было доставлено получателю.

Отсутствие статусов доставки Push является важной причиной низкого уровня доставки и требует тщательного анализа и принятия соответствующих мер.
Профиль использования приложения пользователем
Интересен факт, что на уровень доставки влияет и то, как пользователь использует свое приложение: как часто его запускает, как давно приложение было установлено, реагирует ли пользователь на Push, переходя из уведомления в приложение - смахивает или просто игнорирует.

Это связано с тем, что ОС Android отслеживает действия пользователя с приложением и присваивает приложению приоритет в соответствии с этим.
Активность приложения в фоне
На доставляемость пушей также влияет и то, как разработано приложение, а точнее - какие действия выполняет приложение, находясь в фоне. Например, если приложение активно использует сеть в фоновом режиме, операционная система с большой вероятностью ограничит его активность или полностью заблокирует для сохранения заряда аккумулятора устройства.
Как повысить процент доставки Push?
Существует ряд практик, применение которых в конечном счете позволит поднять долю доставляемых Push сообщений до 90% и более. Это требует наличия целой команды разработки, которая будет выделено заниматься именно этим вопросом, находить проблемные места, экспериментировать, применять решения, оценивать результат и так далее.

Однако не достаточно единоразово достичь цели по повышению процента доставки. Если в какой-то момент перестать заниматься повышением качества работы Push сервиса, процент доставки со временем будет безальтернативно падать. Причина простая - постоянно появляются новые устройства, выходят новые версии ОС, в Push внедряются новые возможности.

У компаний есть несколько вариантов:
  1. заниматься разработкой самостоятельно;
  2. воспользоваться услугами провайдеров;
  3. найти и внедрить готовое решение.

В первом случае потребуется иметь выделенную команду, которая будет постоянно заниматься вопросами Push, либо компании придется мириться с низким уровнем доставки, что значит увеличить свои затраты. Но надо быть готовым, что самостоятельное доведение процента доставки до удовлетворительного для бизнеса уровня может занять, без преувеличения, не один год.

Минусы использования услуг провайдеров - это необходимость платы за каждое Push сообщение и снижение безопасности (наиболее актуально для финансовых организаций), т.к. сообщения с конфиденциальной информацией будут проходить через посредников, которых можно (и стоит) исключить из цепочки.

На рынке существуют готовые решения для отправки Push. В частности, они поставляются разработчиками банковского ПО. Для большинства таких поставщиков тема процента доставки сообщений не является профильной. Поэтому важно выбрать решение, которое обеспечит высокий процент доставки Push, а также позволит полноценно использовать каскадные сценарии доставки, без чего невозможно сокращение затрат на SMS, и предоставит промышленный уровень производительности и надежности.

Важно помнить и о том, что эффективное решение должно состоять из серверной части и предоставлять оптимизации на стороне мобильного приложения в виде SDK, без которого невозможно достичь высокого процента доставки Push.

Таким решением является Сервер уведомлений WINGS, который предназначен для построения полноценной инфраструктуры для отправки сообщений на стороне Заказчика. Он является профильным продуктом компании ВИНГС, российского разработчика программного обеспечения. Сервер уведомлений применяет уникальные технологии, обеспечивающие доставку более 90% Push сообщений (готовы гарантировать SLA по уровню доставки), поддерживает все востребованные каналы коммуникаций, такие как SMS, Push, мессенджеры и социальные сети, звонки и другие, показывает высочайший уровень быстродействия (более 1000 сообщений в секунду на одном сервере) и надежности. Решение компании ВИНГС постоянно развивается, а задачами доставки Push занимается выделенная команда разработчиков.