Исходный код вики Push-токены


Последние авторы
1 (% class="lead" %)
2 Для отправки клиенту push-уведомления необходим push-токен — уникальный идентификатор мобильного устройства.
3
4 Когда клиент [[устанавливает Мобильное приложение>>doc:Main.Using.Mobile_application.Typical_processes.mobile_app_installation.WebHome]] и открывает его в первый раз на своём мобильном устройстве, он видит диалоговое окно, запрашивающее разрешение на push-уведомления. Если клиент дает своё разрешение, то приложение [[может принимать push-уведомления>>doc:Main.Using.Mobile_application.Typical_processes.mobile_app_installation.Push_availability.WebHome]].
5
6 |(% style="border-color:white; width:1485px" %)(((
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 (% class="box infomessage" %)
22 (((
23 **Примечания:**
24
25 * В случае, если переданный push-токен не валиден или передан с ошибкой, сервис FCM передаёт в параметре ##status## или ##errorCode## значение ##UNREGISTERED##. После получения такой [[ошибки>>https://firebase.google.com/docs/cloud-messaging/send-message?hl=ru#rest-error]] статус мобильного устройства в БД меняется на **Не активно**. В разделе [[Контакты>>doc:Main.Using.MMP.CRM.Clients.Customer_profile.Contacts.WebHome]] карточки клиента данное мобильное устройство также будет указано как неактивное. Push-токен не изменит свой статус, если устройство отмечено как неактивное или было удалено. В этом случае push-токен будет перенесён в архив.
26 * При смене шлюза необходимо учесть, что токены, хранимые на серверной стороне, будут отличаться от токенов, хранимых на сервере сервиса отправки уведомлений.
27 )))
28 )))|(% style="border-color:white; text-align:center; width:429px" %)[[image:attach:Frame_Push.png]]
29
30 (% class="box" %)
31 (((
32 **Читайте также:**
33
34 * [[Шлюзы для push-уведомлений через Firebase Cloud Messaging (FCM) и Apple Push Notification service (APNs)>>doc:Main.Installation_and_configuration.Extra_modules.Gateaway_and_proxy.Push_gateways_FCM.WebHome]]
35 * [[Шлюз Azure для push-уведомлений>>doc:Sandbox.Push_gateways.WebHome]]
36 * (((
37 [[Особенности учёта доступности push-уведомлений для клиента в системе Loymax>>doc:Main.Using.Mobile_application.Typical_processes.mobile_app_installation.Push_availability.WebHome]]
38 )))
39 )))