1.1.3 • Published 8 months ago

@webdevep/noty-modul-react-native v1.1.3

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

Фронтенд модуль нотификации

Ссылка на модуль https://modules.dev-webdevep.ru/noty-front-moduls/

Установка npm модуля

Для установки через npm, выполните команду:

npm i @webdevep/noty-modul-react-native

Установка зависимостей

Для работы модуля требуется установить:

  • "@react-native-firebase/app": "^17.4.2",
  • "@react-native-firebase/messaging": "^17.4.2",
  • "@notifee/react-native": "^7.6.1"

Инструкции по установке react-native-firebase: https://rnfirebase.io/

Подключение модуля

Чтобы подключить пуш-уведомления, необходимо инициализировать их в index.js

// ...
import { initPushNotifications } from "@webdevep-modules/noty-modul-react-native";

initPushNotifications(); // можно передать колбэки onReceiveHandlerForeground, onReceiveHandlerBackground и onPressHandler, в которые будет передно входящее сообщение

Также необходимо запросить разрешение на получение пуш-уведомлений и зарегистрировать FCM-токен. Это можно сделать в App.tsx. Пример:

useEffect(() => {
  const registerFcm = async () => {
    const isPermitted = await requestUserPermission();
    if (isPermitted) {
      registerFcmToken(url, uid); // url api сервиса нотификации до /api/v1/..., uid - id пользователя
    }
  };

  registerFcm();
}, []); // здесь можно добавить зависимость, чтобы при необходимости снова запрашивать разрашение, если оно не было получено, и/или обновлять токен

Работа с модулем

Пуш-уведомления

Для вывода пуш-уведомлений из модуля экспортируется метод displayLocalNotification, в который можно передать сообщение типа FirebaseMessagingTypes.RemoteMessage. Этот метод работает, только когда приложение находится в активном состоянии, т.е. foreground. Метод можно вызывать по требованию, а также передать в качестве колбэка onReceiveHandler при иниципализации:

initPushNotifications(displayLocalNotification);

Запросы к API

Создаем инстанс класса:

const notificationApi = new NotificationApi(
  "https://usnc.dev-webdevep.ru/noty"
);

и получаем доступ к методам:

notificationApi.getInboxMessages(data);
notificationApi.getUnreadMessagesCount(data);
notificationApi.markMessageRead(data);
1.1.3

8 months ago

1.1.2

8 months ago

1.1.1

8 months ago

1.1.0

8 months ago

1.0.9

8 months ago

1.0.8

8 months ago

1.0.7

8 months ago

1.0.6

8 months ago

1.0.5

8 months ago

1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

9 months ago