Что такое PUSH уведомления и как они выглядят для разных ОС.

Что такое push уведомления

Согласно энциклопедиям, Push - это технология распространения информации от сервера клиенту. Однако, в последнее время это слово чаще всего употребляется в отношении уведомлений на мобильных устройствах. Именно о Push уведомлениях мы и поговорим в данной статье.


Под мобильными push-уведомлениями чаще всего понимают небольшие плашки с сообщениями, которые появляются в верхней части экрана, в т.н. «шторке», на экране блокировки.

Такое понятие, как push-notifications, стало популярным после внедрения яблочной компанией сервиса Apple Push Notification Service (APNS) для передачи уведомлений на устройства под iOS 3. Стоит упомянуть, что эту революционную инновацию Apple внедрили в iOS почти на год позже, чем Google в ОС Android.

Как бы то ни было, на почве push уведомлений для мобильных выросло целые семейство сервисов и инструментов от разных компаний:
Apple после добавления системы пушей (APNS) для айфонов реализовали их и для OS X и, совсем недавно, для Safari.
Google создали Android Cloud to Device Messaging (C2DM) в далеком 2008 году, заменив его на Google Cloud Messaging (GCM) в 2012 году. Естественно, при помощи данного сервиса пушить можно также и в Chrome приложения.
В Microsoft, как обычно, решили не отставать и создали MPNS (попробуйте сами угадать значение этой аббревиатуры). Таким образом, push-уведомления доступны на Windows Phone начиная с седьмой ее версии.

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

Здесь следует обозначить разницу между такими вещами, как push, push-уведомления и уведомления, генерируемые локальными приложениями в системе. Push — это технология, которая используется для доставки информации. Уведомления же генерируются внутри системы и выглядят они в разных ОС по-разному.

Типы уведомлений в мобильных ОС

В iOS есть три типа push-уведомлений:
Audio — об уведомлении пользователю сообщается путем проигрывания звукового уведомления
Audio/Banners — проигрывается звуковое сообщение и т.н. “баннер” появляется на экране. Информацию, передающеюся с первым и вторым типами сообщений вы можете увидеть в Notification Center — внутри т.н. “шторки”.
Badges (рус. значок, символ) — рядом с иконкой приложения появляется цифра или специальное изображение.

В Windows Phone 8 также есть три варианта push-уведомлений:
Toast (рус. тост) — сообщение показывается в верхней части экрана на протяжении 10 секунд. Естественно, это сообщение кликабельно.
Tile (рус. плитка) — отображаются в виде чисел, выводимых поверх значка приложения на плитке (Live Tile).
Raw (рус. грубый) — для передачи произвольной информации внутрь приложения. Предполагается, что такой тип пушей используется для игровых приложений.

С Android все немного интереснее. В официальном мануале для разработчиков написано:

It does not provide any built-in user interface or other handling for message data. GCM simply passes raw message data received straight to the Android application, which has full control of how to handle it. For example, the application might post a notification, display a custom user interface, or silently sync data.

По-русски: в ОС Android нет никакой встроенной системы для прямого отображения пользователю push-уведомлений. Все данные «пушатся» исключительно в приложение, и передаются в совершенно произвольной форме, как и raw-уведомления в WP8. Приложение же, после получения информации, может, например, выдать стандартное для андроид-систем уведомление, которое отобразится в верхней части экрана и в “шторке”. Или же может появится баннер, подобный таковым в iOS.
Однако, учитывая открытость Андроида и исключительную гибкость этой системы, уведомления после получения push могут выводиться, в принципе, в любой форме. Например, одним из самых самых невинных способов взаимодействия с пользователем может быть немедленное открытие окна приложения со всей необходимой промо-информацией.

Браузерные push уведомления

С некоторого времени у разработчиков появилась возможность рассылать push-уведомления через браузеры на стационарные компьютеры пользователей: в Google Chrome и Apple Safari. Для отправки данного типа пушей также используются службы GCM и APNs. С технической точки зрения, браузерные push-уведомления отличаются от мобильных только тем, что в Chrome и Safari отправителем уведомления является сайт. Пользователи получают push-уведомления в виде небольших сообщений, которые появляются поверх всех окон в углу экрана сразу по получении.

Push уведомление в Chrome на MacOS

Для вашего приложения или сайта

У каждого из разработчиков мобильных ОС есть свой собственный подход к технической реализации отправки push уведомлений на устройства. Сервисы, которые обеспечивают возможности push-нотификаций, были перечислены в начале статьи: GCM, APNS и MPNS.
Однако очевидно, что для работы с ними нужно также использовать еще и внешний сервер — для отправки на эти сервисы удаленных запросов. Учитывая то, что обеспечение легкой жизни разработчиков не является приоритетной задачей ни для одной из компаний-авторов ОС, каждый из вышеперечисленных сервисов функционирует очень по-своему. Для отправки уведомлений на разные платформы нужно соблюсти немало всяческих требований, и для каждой платформы — своих.
Именно поэтому в сети существует много сервисов, предоставляющих удобный интерфейс для реализации push-уведомлений в приложения и на сайтах своих клиентов.

автор: /  1 комментарий 140665

Комментарии к “Что такое push уведомления”

  1. Валентин

    «сатах своих клиентов» — мб сайтах?

    Ответить

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

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