Слава Україні!

Laravel 10. Уведомления в реальном времени. Часть 1.

Laravel 10. Уведомления в реальном времени с использованием сервиса Ably JavaScript Laravel

Для настройки уведомлений в реальном времени будем использовать сервис Ably.

В бесплатном пакете:

  • 6 млн сообщений в месяц
  • 70 сообщений в секунду
  • 200 одновременных подключений
  • 200 каналов подключения

Для небольшого проекта - более чем достаточно.

Регистрируемся на сайте сервиса, создаем приложение и забираем ключ (API Key).

Сохраняем ключ в файле .env и там же меняем опцию драйвера:


...

BROADCAST_DRIVER=ably
ABLY_KEY=ROOT_API_KEY_COPIED_FROM_ABLY_WEB_DASHBOARD

...

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


php composer require ably/laravel-broadcaster

npm install @ably/laravel-echo ably
npm run dev

Также нам понадобится таблица для хранения уведомлений. Она входит в Laravel - надо просто ее достать и запустить миграцию:


php artisan notifications:table

php artisan migrate

Настраиваем приложение. Сперва необходимо в файле config/app.php раскоментировать строку, подключающую провайдер:


...
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
App\Providers\BroadcastServiceProvider::class,      # Раскомментировать
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
...

В файле config/broadcasting.php, в секции connections, должны присутствовать следующие строки:


...
'ably' => [
    'driver' => 'ably',
    'key' => env('ABLY_KEY'),
],
...

В файле resources/js/bootstrap.js прописываем следующие строки:


...
import Echo from '@ably/laravel-echo';
import * as Ably from 'ably';

window.Ably = Ably;
window.Echo = new Echo({
    broadcaster: 'ably',
});
...

Теперь нам уже доступен сервис Ably. Проверить можно дописав ниже следующие строки:


window.Echo.connector.ably.connection.on(stateChange => {
    if (stateChange.current === 'connected') {
        console.log('connected to ably server');
    }
});

В консоли браузера должны увидеть: connected to ably server

Важлива інформація

Міністерство оборони
України
з 24.02 по 19.05
втрати противника
орієнтовно склали:
492290 ( +1210 ) особового складу
7576 ( +16 ) танків
14630 ( +35 ) бойових бронемашин
12687 ( +48 ) артилерійських систем
1074 ( +3 ) РСЗВ
803 ( +2 ) засоби ППО
354 ( +0 ) літаків
326 ( +0 ) гелікоптерів
17251 ( +82 ) автомобільної техніки
26 ( +0 ) кораблі / катери
2204 ( +1 ) крилаті ракети
10155 ( +47 ) БПЛА
2077 ( +2 ) спец. техніки
4 ( +0 ) установок ОТРК/ТРК
1 ( +0 ) war.submarines

Поиск