Исходный код вики Push-токены
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | (% class="lead" %) | ||
| 2 | Для отправки клиенту push-уведомления необходим push-токен — уникальный идентификатор мобильного устройства. | ||
| 3 | |||
| 4 | Когда клиент [[устанавливает Мобильное приложение>>doc:Main.Using.Mobile_application.Typical_processes.mobile_app_installation.WebHome]] и открывает его в первый раз на своем мобильном устройстве, он видит диалоговое окно, запрашивающее разрешение на push-уведомления (см. пример справа). Если клиент дает свое разрешение, то приложение может принимать push-уведомления. | ||
| 5 | |||
| 6 | |(% style="border-color:white; width:1377px" %)((( | ||
| 7 | Push-уведомления доставляются клиенту через специальный сервис отправки push-уведомлений. | ||
| 8 | |||
| 9 | На схеме ниже представлено взаимодействие приложения и сервисов отправки уведомлений. | ||
| 10 | |||
| 11 | * Приложение запрашивает в этом сервисе отправки push-уведомлений временный уникальный идентификатор для push-уведомлений — push-токен ([[image:one_pink.png||height="25" width="25"]], [[image:one_yellow.png||height="25" width="25"]], [[image:one_green.png||height="25" width="25"]]). | ||
| 12 | |||
| 13 | (% class="box infomessage" %) | ||
| 14 | ((( | ||
| 15 | Сервис отправки push-уведомлений, в котором запрашивается push-токен, зависит от платформы и от настроек самого мобильного приложения. Android отправляет запрос в [[Google Firebase Cloud Messaging Service (FCM)>>doc:Main.Installation_and_configuration.Extra_modules.Gateaway_and_proxy.Push_gateways_FCM.WebHome]], а iOS — в [[Apple Push Notification Service (APNs)>>doc:Main.Installation_and_configuration.Extra_modules.Gateaway_and_proxy.Push_gateways_FCM.WebHome]] или FCM (в зависимости от настроек МП). Сервис, получивший запрос на push-токен, отправляет этот уникальный идентификатор Мобильному приложению. | ||
| 16 | ))) | ||
| 17 | |||
| 18 | * Мобильное приложение перенаправляет push-токен в серверную часть (Backend), где он сохраняется и используется при необходимости отправки клиенту push-уведомления ([[image:two.png||height="25" width="25"]]). | ||
| 19 | * Для отправки push-уведомления серверная часть приложения обращается к соответствующему сервису отправки уведомлений, используя push-токен для обращения к приложению конкретного клиента ([[image:three.png||height="25" width="25"]]). | ||
| 20 | |||
| 21 | ==== Центр уведомлений Azure ==== | ||
| 22 | |||
| 23 | Для отправки push-уведомлений в качестве прослойки иногда используется облачная платформа [[Azure>>https://azure.microsoft.com/ru-ru/products/notification-hubs/#overview]]. Azure — это возможность создавать центр уведомлений, который будет обеспечивать отправку push-уведомлений на любую платформу (iOS, Android) c любой серверной части. | ||
| 24 | |||
| 25 | * Если используется Центр уведомлений Azure, то серверная часть отправляет в Azure полученный от FCM или APNs push-токен ([[image:four.png||height="25" width="25"]]). | ||
| 26 | * Далее Azure взаимодействует с сервисами FCM или APNs, используя полученный токен ([[image:five.png||height="25" width="25"]]). FCM или APNs, в свою очередь, отправляет push-уведомления клиенту. | ||
| 27 | )))|(% style="border-color:white; text-align:center; width:272px" %){{lightbox image="screen.png" width="200"/}} | ||
| 28 | |||
| 29 | (% style="text-align:center" %) | ||
| 30 | [[[[image:tokens4.png||alt="tokens1.png" height="649" width="1000"]]>>path:/xwiki/bin/download/Sandbox/Push_token/WebHome/push-tokens.png||rel="lightbox"]] | ||
| 31 | |||
| 32 | (% class="box infomessage" %) | ||
| 33 | ((( | ||
| 34 | **Примечания:** | ||
| 35 | |||
| 36 | * Токены, которые отправляет Центр уведомлений Azure или сервис отправки FCM Service, не идентичны тем, которые были получены ими. Полученные этими сервисами токены сохраняются в их базах данных. Токены, которые эти сервисы возвращают, имеют уже свой формат и количество символов. | ||
| 37 | * Так как push-уведомления зависят от сервисов отправки уведомлений сторонних поставщиков (APNS и FCM), Azure не гарантирует доставку этих сообщений. После того, как Центр уведомлений передаст пакеты системам отправки уведомлений платформы, непосредственная доставка push-уведомлений возлагается на эти системы. Однако подавляющая часть рush-уведомлений доставляется на устройства в течение нескольких минут (как правило, в диапазоне 10 минут) с момента их отправки в центр уведомлений. Для отправки нескольких уведомлений может потребоваться больше времени. | ||
| 38 | ))) | ||
| 39 | |||
| 40 | Подробная инструкция настройки отправки push-уведомлений из системы Loymax в Мобильные приложения Android и iOS через центр уведомлений Microsoft Azure представлена в [[отдельной статье>>doc:Main.Installation_and_configuration.Extra_modules.Gateaway_and_proxy.Push_gateways.Configuration_push_with_azure.WebHome]]. | ||
| 41 | |||
| 42 | (% class="box" %) | ||
| 43 | ((( | ||
| 44 | **Читайте также:** | ||
| 45 | |||
| 46 | * [[Шлюзы для push-уведомлений через Firebase Cloud Messaging (FCM) и Apple Push Notification service (APNs)>>doc:Main.Installation_and_configuration.Extra_modules.Gateaway_and_proxy.Push_gateways_FCM.WebHome]] | ||
| 47 | * [[Шлюз Azure для push-уведомлений>>doc:Main.Installation_and_configuration.Extra_modules.Gateaway_and_proxy.Push_gateways.WebHome]] | ||
| 48 | ))) |