Как отправлять уведомление с Nest на клиент?
Я разрабатываю что то типа мессенджера. Бекэнд пишу с использованием Nest js. А у пользователя будет PWA на телефоне и сайт в браузере на Nuxt. Я хочу сделать уведомление о том что пользователю пришло новое сообщение но не как не могу понять как это реализовать. Я нехоиспользовать какие-то сторонние сервисы для этого.
Дополнительно:
Вариантов пока всего два (четыре):
1) Websockets - для этого нужно на стороне сервера иметь websocket сервис. Реализуется на много чем, начиная от nodejs, и заканчивая С
2) SSE (Server Sent Events) - для этого почти ничего не нужно, но сервер должен это уметь.
3) Long Pooling - вообще ничего не нужно, просто нужно уметь в эту технологию
4) Просто опрос по времени - заводите таймер и по таймеру смотрите приход новых сообщений.
Первые две технологии используются в так называемых push-сервисах.
- Спасибо большое!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для отправки уведомлений с Nest на клиент, можно воспользоваться Nest API. Ниже приведен пример кода на PHP, который демонстрирует отправку уведомления на клиент:
$api_key, 'body' => array( 'message' => $message ) ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); $headers = array( 'Content-Type: application/json', 'Content-Length: ' . strlen(json_encode($data)) ); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($ch); if($result === false) { echo 'Error: ' . curl_error($ch); } else { echo 'Notification sent successfully'; } curl_close($ch); ?>
В этом коде мы используем cURL для отправки POST запроса на URL Nest API, передавая API ключ, идентификатор устройства и сообщение. После отправки запроса, мы проверяем результат и выводим соответствующее сообщение.
Не забудьте заменить YOUR_NEST_API_KEY и YOUR_NEST_DEVICE_ID на ваши реальные значения. Также убедитесь, что у вас есть разрешения на отправку уведомлений через Nest API.