О проблемах и решении задачи доставки пуш-уведомлений миллионам устройств на различных платформах

На данный момент времени упрощение работы с пуш-уведомлениями может быть проведено с множеством существующих программных решений. К ним можно отнести Windows Azure Mobile Services , в составе которого есть необходимый функционал. Эти инструменты превращают отправку уведомлений одному пользователю в сравнительно быстро и легко выполнимую задачу. Однако беря во внимание требования относительно локализации, разнообразности платформ и средств персонализации пользователей, а также необходимость отправки уведомлений миллионам людей по всему миру, данная задача становится на несколько порядков более трудной к выполнению.

Основной причиной существующих сложностей можно считать то, что отправка происходит специфическим для каждой платформы образом. К примеру, платформа Android предполагает использование Google Cloud Messaging, в то время как iOS с устройствами типа apple ipod nano требует пользователя применять инструментарий Apple Push Notification service для осуществления этой же задачи.

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *