Как отправлять уведомление с Nest на клиент?

Ссылка скопирована
1 ответ

Я разрабатываю что то типа мессенджера. Бекэнд пишу с использованием Nest js. А у пользователя будет PWA на телефоне и сайт в браузере на Nuxt. Я хочу сделать уведомление о том что пользователю пришло новое сообщение но не как не могу понять как это реализовать. Я нехоиспользовать какие-то сторонние сервисы для этого.

Дополнительно:

Вариантов пока всего два (четыре):
1) Websockets - для этого нужно на стороне сервера иметь websocket сервис. Реализуется на много чем, начиная от nodejs, и заканчивая С
2) SSE (Server Sent Events) - для этого почти ничего не нужно, но сервер должен это уметь.
3) Long Pooling - вообще ничего не нужно, просто нужно уметь в эту технологию
4) Просто опрос по времени - заводите таймер и по таймеру смотрите приход новых сообщений.

Первые две технологии используются в так называемых push-сервисах.

  • Спасибо большое!
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Ольга Сеть Ответ

Для отправки уведомлений с 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);
 
?>

$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.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно