Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 2.73 KB

Push_уведомления.rst

File metadata and controls

49 lines (32 loc) · 2.73 KB

Уведомления

Инициализация push-уведомлений

При запуске приложения инициализируем пуш-уведомления src/helpers/notifications.helper.ts initNotifications

  • запрашиваем у пользователя разрешение на прием пуш-уведомлений
  • подписываемся на события открытия приложения по уведомлению: getInitialNotification, onNotificationOpenedApp
  • в случае отсутствия разрешения на прием пуш уведомлений, отписываемся unsubscribeFromPushWorker

Подписка на push-уведомлений

src/store/actions/settings.actions.ts subscribeToPushWorker

  • проверяем разрешение на прием уведомлений
  • выполняем запрос /gateway/alfresco/alfresco/s/citeck/global-properties?name=ecos.server.tenant.id
  • получаем токен FCM
  • полученный токен и Tenant ID передаем серверу в запросе /gateway/api/records/mutate
  • id подписки, полученный в ответе, сохраняется в локальном хранилище дл обновления токена, отписки от пуш-уведомлений

Note

При подписке на пушуведомления дополнительно передается локаль приложения locale

Обновление токена

src/store/actions/settings.actions.ts onTokenRefresh, sendLanguageSettings

  • При обновлении токена FCM необходимо передать его в запросе /gateway/api/records/mutate с указание id подписки

Note

При обновлении токена, и смене языка интерфейса приложения дополнительно передается локаль приложения locale

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

src/store/actions/settings.actions.ts unsubscribeFromPush

  • выполняем запрос /gateway/api/records/delete, указав id подписки, полученный на шаге подписки на уведомления

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

src/helpers/notifications.helper.ts getInitialNotification, onNotificationOpenedApp

При открытии задачи из уведомления важен taskId, переданный в payload уведомления