Push-токены


Push-токен — уникальный идентификатор клиента, которому будет отправлено push-уведомление.

Когда клиент устанавливает Мобильное приложение, у него на мобильном устройстве отображается диалоговое окно, запрашивающее разрешение на push-уведомления ( "Хотите ли вы получать push-уведомления?" (нужен скрин!))

Если клиент соглашается, то приложение может принимать push-уведомления.

Отправка push-уведомлений

Push-уведомления доставляются через специальный сервис отправки уведомлений. Приложение запрашивает в этом сервисе временный уникальный идентификатор для push-уведомлений (токен). Сервис, в котором запрашивается токен, зависит от платформы. Android отправляет запрос в Google Firebase Cloud Messaging Service (FCM), iOS — в Apple Push Notification Service (APNS) или (FCM), в зависимости от настроек самого мобильного приложения (см. схему). 

Сервис, получивший запрос на токен, отправляет этот уникальный идентификатор Мобильному приложению.

Далее Мобильное приложение перенаправляет токен в серверную часть (АПИ Pushes?), где он сохраняется и используется при необходимости отправки клиенту push-уведомления. Для отправки push-уведомления серверная часть приложения обращается к сервису отправки уведомлений, используя токен для обращения к приложению конкретного клиента.

Центр уведомлений Azure

Чтобы избежать проблем, возможных при отправке push-уведомлений из серверной части приложения напрямую, в качестве прослойки используется облачная платформа Azure. Azure — это возможность создавать центр уведомлений, который будет обеспечивать отправку push-уведомлений на любую платформу (iOS, Android) c любой серверной части.

Если используется Центр уведомлений Azure, то серверная часть отправляет в Azure полученный от FCM или APNS токен. Далее Azure взаимодействует с сервисами FCM или APNS, используя полученный токен.

Далее Azure отправляет push-уведомления клиенту.

Примечания:

  • Так как push-уведомления зависят от сервисов отправки уведомлений сторонних поставщиков (APNS и FCM), Azure не гарантирует доставку этих сообщений. После того, как Центр уведомлений передаст пакеты системам отправки уведомлений платформы, непосредственная доставка push-уведомлений возлагается на эти системы. Однако подавляющая часть рush-уведомлений доставляется на устройства в течение нескольких минут (как правило, в диапазоне 10 минут) с момента их отправки в центр уведомлений. Для отправки нескольких уведомлений может потребоваться больше времени.
  • Кроме того, в центрах уведомлений Azure предусмотрена политика для удаления любых рush-уведомлений, которые не были доставлены в сервис отправки уведомлений в течение 30 минут.