zpusher-client v1.0.8
ZPusher
WebSocket клиент для ZPusher server
Полноценный пример использования находится в папке example
Установка
npm i zpusher-client --save
Браузер
<script src="./path-to-package/dist/zpusher.js"></script>
API
Методы
Синтаксис: ZPusher.method
constructor - Создание нового объекта Pusher
Использование:
const Pusher = new ZPusher({token, endpoint});
Возвращаемое значение: Pusher Object
Параметры:
Наименование Тип Обязательность Значение по умолчанию Описание endpoint String Да Null wss URL для подключения к серверу token String Да Null Access Token autoconnect Boolean Нет true Необходимость запускать подключение в конструкторе reconnect Boolean Нет true Автоматическое переподключение при разрывах reconnectTimeout Integer Нет 30 Время таймаута при автоматическом переподключении (сек) connect - Инициализация подключения к серверу
Использование:
const Pusher = new ZPusher({token, endpoint, autoconnect: false}); Pusher.connect().then((Event) => {}, (Event) => {});
Возвращаемое значение: Promise
close - Закрывает подключение к серверу
Использование:
const Pusher = new ZPusher({token, endpoint, autoconnect: false}); Pusher.connect().then((Event) => { Pusher.close() }, (Event) => {});
Возвращаемое значение: Boolean
on - Установка слушателя событий объекта Pusher
Использование:
const Pusher = new ZPusher({token, endpoint}); Pusher.on('open', Event => {}); Pusher.on('close', Event => {}); Pusher.on('error', Event => {}); Pusher.on('reconnect', Event => {});
Передаваемое в Callback значение: Event Object
Параметры:
Наименование Тип Обязательность Значение по умолчанию Описание event String Да Null Наименование события в виде строки callback Function Да Null Callback функция subscribe - Подписка на канал
Использование:
const Pusher = new ZPusher({token, endpoint}); Pusher.on('open', () => { Pusher.subscribe('broadcast').then(onEvent => { //Успешная подписка на канал broadcast }, () => { //Ошибка подписки }); });
Возвращаемое значение: Promise
Передаваемое в Resolve значение: ZPusher.onEvent Function
Параметры:
Наименование Тип Обязательность Значение по умолчанию Описание channel String Да Null Наименование канала в виде строки onEvent - Установка слушателя событий WS сообщений с сервера
Использование:
import ZPusher from "zpusher"; const Pusher = new ZPusher({token, endpoint}); Pusher.on('open', () => { Pusher.subscribe('broadcast').then(onEvent => { //Допускается как прямое использование вызова onEvent от объекта Pusher: Pusher.onEvent(); //Так и использование функции onEvent, передаваемой в Promise Resolve //Однако, при использовании прямого вызова Pusher.onEvent() необходимо передавать агрументы: название канала, название событи, функция обратного вызова onEvent('example-first-event', data => { //Получение события example-first-event из канала broadcast }); Pusher.onEvent('broadcast', 'example-second-event', data => { //Получение события example-second-event из канала broadcast }); }); });
Передаваемое в Callback значение: Object
Параметры:
Наименование Тип Обязательность Значение по умолчанию Описание event String Да Null Наименование события в виде строки callback Function Да Null Callback функция send - Отправка WS события в канал
Использование:
import ZPusher from "zpusher"; const Pusher = new ZPusher({token, endpoint}); Pusher.send('example-client-event', 'example-channel', {eventData: 'some-data'});
Возвращаемое значение: Promise
Параметры:
Наименование Тип Обязательность Значение по умолчанию Описание event String Да Null Наименование события в виде строки channel String Да Null Наименование канала в виде строки data Mixed Нет Null Данные для отправки в канал
События
Синтаксис: ZPusher.on(event, callaback)
- open - Открытие соединения с сервером
- close - Событие закрытия соединения с сервером
- error - Ошибка при соединении с сервером
- reconnect - Попытка переподключения к серверу
Пример использования
Полный пример клиента приведён в папке example
import ZPusher from "zpusher";
const token = 'your-zpusher-server-access-token';
const endpoint = 'wss://your-zpusher-server-wss-url.ru';
const Pusher = new ZPusher({endpoint, token});
Pusher.on('open', e => {
pusher.subscribe('broadcast').then(onEvent => {
//Успешная подпись на события в канале
onEvent('example-event', data => {
//Получение события из соединения
});
}, () => {
//Ошибка подписки
});
pusher.subscribe('some-channel-name').then(onEvent => {
//Успешная подпись на события в канале
onEvent('example-channel-event', data => {
//Получение события из соединения
});
}, () => {
//Ошибка подписки
});
});
Pusher.on('reconnect', e => {
//Попытка восстановления соединения
});
Pusher.on('close', e => {
//Закрытие соединения
});
Pusher.on('error', e => {
//Ошибка соединения
});
Как проверить работу клиента:
- Подключить библиотеку к себе в проект
- Реализовать пример выше
- Подключиться к серверу
- Подписаться на канал (на пример broadcast)
- Отправить новое push уведомление на сервер
- Проверить его получение в канал, на который подписались