Уведомления

Инициализация 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 подписки, полученный в ответе, сохраняется в локальном хранилище дл обновления токена, отписки от пуш-уведомлений

Примечание

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

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

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

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

Примечание

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

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

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

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

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

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

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