Технология push


Технология push (англ. push, букв. «проталкивание») — один из способов распространения информации (контента) в Интернете, когда данные поступают от поставщика к пользователю на основе установленных параметров. Пользователь же, в свою очередь, либо отвергает, либо принимает данные.

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

Push-технологии приобрели известность благодаря продукту PointCast, популярному в 1990-е годы. Сеть PointCast занималась доставкой новостей и данных фондового рынка, содержала агрегатор с собственным форматом, отдалённо напоминавшим телевидение, с текстом и рисунками вместо видео. Влияние СМИ было значительным, так что Netscape и Microsoft в разгар браузерной войны решили включить эту технологию в свои браузеры Netscape Navigator и Internet Explorer соответственно. Однако в большинстве случаев пользователи имели низкую скорость подключения, поэтому популярность сервиса была низкой, а позже сошла на нет, вытесненная pull-технологией RSS в начале 2000-х годов. Однако, с развитием скоростей, в 2010-х гг. push получили огромную популярность.

После того как пользователь даёт разрешение приложению на получение уведомлений, приложение отправляет уникальный ID приложения и уникальный номер устройства на сервер уведомлений и регистрируется на этом сервере. Эти два уникальных номера образуют уникальный идентификатор. Затем этот идентификатор отправляется с сервера уведомлений на сервер владельца приложения.

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

Уведомления могут содержать различные поля, такие как: кнопки ответа, изображение, числовое значение для бейджика приложения, звук и другие.