Месяц назад
я решил в своем новом обновлении приложения «Слова любимым» добавить функцию Push уведомлений. Прошел месяц, настал праздник, День России – чем не повод
испытать эти уведомления и увидеть их эффективность.
Поговорим
немного о Push’ах.
Основная
причина использования Push Notifications со стороны разработчика, это
оповещения пользователей о каких либо событиях, напомнить пользователю о Вашем
замечательном приложении, лишний раз запустить его, что согласитесь довольно
таки важно.
В структуре
Push Notifications существует специальный сервис в облаке, который делает
возможность работы уведомлений. Когда устройство хочет получать уведомления, то
обращается к этому сервису и устанавливает с ним постоянное соединение. В ответ
на это сервис выдает этому устройству уникальный URI, используя который можно
отправить по протоколу HTTP некоторое сообщение. Это сообщение получает тот
самый сервис в облаке и пересылает его соответствующему устройству. Логично,
что для каждого устройства и приложения этот URI будет уникальный. Таким
образом, работу уведомлений в Windows Phone
можно описать так:
- Устройство устанавливает соединение с сервером Microsoft и получает уникальный HTTP-адрес;
- Устройство передает этот HTTP-адрес тому, кто будет уведомлять устройство о чем-либо;
- Когда необходимо уведомить устройство о чем-либо, приложение, которому был передан HTTP-адрес отправляет специальное HTTP-сообщение на этот адрес;
- Сервис Microsoft получает это сообщение и по возможности доставляет его на устройство. Если доставить сообщение на устройство не удалось, то отправитель получит соответствующее сообщение.
Согласитесь,
все довольно просто и понятно.
Существуют
четыре разных вида уведомлений для Windows Phone:
- Tile Notifications – если ваше приложение закреплено на начальном экране, вы можете обновить Tile (плитку) вашего приложения. Например, вы можете изменить фон картинки, используя диапазон чисел 0-99. При отправке уведомления указывается URL некоторого изображения, расположенного в сети. Когда устройство получает уведомление оно самостоятельно загружает изображение из сети и обновляет его на рабочем столе устройства.
- Toast Notifications – при получении этого типа уведомления на экране устройства всплывает небольшое сообщение, содержащее текст уведомления. При этом приложение в данный момент может быть неактивным. При нажатии на это сообщение пользователь может быстро переключиться к соответствующему уведомлению.
- Raw Notifications – при получении этого типа уведомления его содержимое передается непосредственно приложению. Приложение в праве обработать содержимое уведомление так, как считает нужным по своему собственному алгоритму. Это наиболее гибкий способ получения уведомлений от внешних сервисов.
- Voip Notifications – этот тип уведомлений появился в Windows Phone 8. Служит оповещение о входящем звонке для Voip приложений. Он подобен Raw Notifications, но обрабатывается фоновым агентом.
Рассмотрим
все описываемые случаи смысла нету, тк в интернете полно литературы как и что
происходит, как на русском языке так и на английском.
Для своего
маленького эксперимента я использовал Toast Notifications Push.
За месяц
работы приложения было собрано 39219 устройств.
В самом
начале я допустил одну маленькую ошибку, которая чуть не вылилась в большую. Не
оценив количество устройств, я начал отправлять сообщения в порядке очереди,
дожидаясь отправки предыдущего или
ошибки, в результате отправка продолжалась с 11 до 18 часов.
В ответ от
сервера нам приходят:
- 18256 запросов вернулось различными ошибками от сервера (Exeption). В будущем я хочу их дублировать раза 3 через некоторое время. Считаем, что они не доставлены.
- 13910 запросов вернулось со статусами: NotificationStatus: Received, NotificationChannelStatus: Active, DeviceConnectionStatus: Connected (RAC) будем считать, что такое сообщение дошло до цели.
- 7041 запрос вернулся со статусом: NotificationStatus: Received, NotificationChannelStatus: Active, DeviceConnectionStatus: TempDisconnected (RAT). Считаем, что они не доставлены.
- 10 запросов вернулось со статусами: NotificationStatus: Suppressed, NotificationChannelStatus: Active, DeviceConnectionStatus: Connected (SAC). Считаем, что они не доставлены.
- 2 запроса вернулись со статусами: NotificationStatus: Suppressed, NotificationChannelStatus: Active, DeviceConnectionStatus: TempDisconnected (SAT). Считаем, что они не доставлены.
В среднем за
это время посещают приложение 1664 пользователя, в результате Push уведомлений мы получили 4735 пользователя,
что на 3071 больше. Не все пользователи замечают Toast уведомления, не все переходят, в
результате 22% от считавшимися удачными, а если добавить еще RAT, SAC, SAT с которыми не все понятно, то 14,5%.
Я рассчитывал на меньшее и очень доволен результатами данного опыта.
Если
у Вас есть вопросы, задавайте в комментариях, постараюсь ответить.
Комментариев нет:
Отправить комментарий