При запуске приложения инициализируем пуш-уведомления src/helpers/notifications.helper.ts initNotifications
- запрашиваем у пользователя разрешение на прием пуш-уведомлений
- подписываемся на события открытия приложения по уведомлению:
getInitialNotification
,onNotificationOpenedApp
- в случае отсутствия разрешения на прием пуш уведомлений, отписываемся
unsubscribeFromPushWorker
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
src/store/actions/settings.actions.ts unsubscribeFromPush
- выполняем запрос
/gateway/api/records/delete
, указав id подписки, полученный на шаге подписки на уведомления
src/helpers/notifications.helper.ts getInitialNotification, onNotificationOpenedApp
При открытии задачи из уведомления важен taskId
, переданный в payload уведомления