React Native библиотека
Pushed React Native - интеграция Pushed.ru и React Native
Обзор
Этот пакет позволяет интегрировать службу push-уведомлений Pushed.ru в ваше приложение React Native.
Примеры использования
Вы можете посмотреть пример использования запустив приложение example из этого репозитория.
Инструкция по использованию
Выполните следующие шаги, чтобы использовать пакет pushed-react-native в своем приложении React Native.
1. Установите библиотеку
Запустите следующую команду, чтобы установить библиотеку:
npm install pushed-react-native --registry=https://son.multifactor.dev:5443/repository/pushed-npm
2. Импортируйте необходимые методы и типы
Импортируйте необходимые методы и типы из библиотеки:
import {
startService,
stopService,
PushedEventTypes,
Push,
} from 'pushed-react-native';
3. Подпишитесь на событие PushedEventTypes.PUSH_RECEIVED
Подпишитесь на событие PUSH_RECEIVED для обработки входящих push-уведомлений:
import React, { useEffect } from 'react';
import { NativeEventEmitter, NativeModules } from 'react-native';
import { displayNotification } from './Notifee';
useEffect(() => {
const eventEmitter = new NativeEventEmitter(NativeModules.PushedReactNative);
const eventListener = eventEmitter.addListener(
PushedEventTypes.PUSH_RECEIVED,
(push: Push) => {
console.log(push);
displayNotification(push.title, push.body);
}
);
// Remove the listener when the component unmounts
return () => {
eventListener.remove();
};
}, []);
4. Запустите сервис приема сообщений
Используйте функцию startService
для запуска foreground-службы, отвечающей за прием сообщений:
const handleStart = () => {
console.log('Starting Pushed Service');
startService('PushedService').then((newToken) => {
console.log(`Service has started: ${newToken}`);
});
};
5. Остановите сервис приема сообщений
Используйте функцию stopService
для остановки foreground-службы, отвечающей за прием сообщений:
const handleStop = () => {
stopService().then((m) => {
console.log(m);
});
};
Особенности работы в iOS
- Сообщения доставляются посредством службы apns и обрабатываются самим устройством в фоновом режиме. startService можно вызвать только один раз, чтобы зарегистрировать клиенсткий токен.
- Необходимо настроить ваше приложение для работы с apns в панели управления Pushed (см. статью)[https://pushed.ru/docs/apns/]
- Убедитесь, что приложение имеет разрешения Push Notifications и Background Modes -> Remote Notifications
Описание методов и типов библиотеки pushed-react-native
startService(serviceName: string): Promise<string>
Эта функция запускает службу push-уведомлений.
- Параметры:
serviceName
:строка
, представляющая имя запускаемой службы.- Возвращаемое значение:
Promise<string>
, который резолвится токеном устройства, который понадобится при отправке пуша. См. пример.
stopService(): Promise<string>
Эта функция останавливает службу push-уведомлений.
- Возвращаемое значение:
Promise<string>
, который резолвится сообщением, указывающим, что служба остановлена.
PushedEventTypes
Это перечисление содержит типы событий, с которыми работает система Pushed.ru
- Перечисляемые значения:
PUSH_RECEIVED
: представляет тип события при получении push-уведомления.
Push
Это класс, представляющий push-уведомление, он является оберткой произвольного словаря key-value
- Constructor:
constructor(data: { [key: string]: string })
- Cоздает новый экземпляр Push, используя предоставленные данные.