Возможности модуля
Модуль предназначен для отправки Push уведомлений в мобильное приложение и браузерах. Отправка производится с помощью firebase cloud messaging. Клиент реализован на ServiceWorker, поэтому будет работать только на домене с валидным SSL (HTTPS) сертификатом.
Для отправки в Chrome нужен ключ Google API Platform Key.( Брать в Google Cloud Console ).
Ключ нужно записать в libexec/config.pl $conf{GOOGLE_API_KEY}.
Пуши в Firefox работают без ключа.После записи ключа создать файл манифеста cgi-bin/manifest.json.. Пуши в Firefox работают без ключа.
Установка модуля
Чтобы Push ратали нужно прописать в config.pl
Code Block |
---|
|
$conf{PUSH_ENABLED}=1; |
Создание проекта firebase
Переходим по ссылке https://console.firebase.google.com/
Image AddedПосле создания переходим в настройки проекта
Image Added
После этого переходим в настройки Cloud Messaging, а также переходим в настройки API.
Image Added
После перехода в настройки API просто включаем протокол
Image Added
Переходим назад в настройки Cloud Messaging и копируем Server Key и прописываем в config.pl
Code Block |
---|
|
$conf{FIREBASE_SERVER_KEY}="Ваш ключ"; |
Image Added
Настройка WebPush
Для настройки Web Push необходимо перейти в настройки Cloud Messaging и создать пару ключей для WebPush
Image Added
После создание копируем публичный ключ и прописасываем в config.pl
Code Block |
---|
|
$conf{FIREBASE_VAPID_KEY}="Ваш public key"; |
Image Added
Создаем Web приложение
Image Added
Копируем firebaseConfig и вносим в конфигурации на биллинге
Image Added
В config.pl
Code Block |
---|
|
$conf{FIREBASE_CONFIG} = {
apiKey => "Sample",
authDomain => "Sample",
projectId => "Sample",
storageBucket => "Sample",
messagingSenderId => "Sample",
appId => "Sample",
measurementId => "Sample"
}; |
Копируем файл
Code Block |
---|
|
cd /usr/abills/cgi-bin/
cp ../misc/gcmfirebase/manifest.json.default manifest.json |
Заменить %GCM_APPLICATION_NUMBER% на номер своего проекта в Google Cloud Console.firebase-config.js firebase-config.js |
Вставляем настройки созданного firebaseConfig
Code Block |
---|
|
vim manifest.json |
Создать таблицы, в которых хранятся клиенты и сообщения.
Code Block |
---|
|
mysql -D abills < db/Push.sql |
После этого можно включить скрипты Push переменной конфигурации $conf{PUSH_ENABLED}.
Администраторы подписываются на Push уведомления на странице «Профиль».
Image Removed
Пользователям предложит подписаться сразу при входе в кабинет.
Image Removed
|
var firebaseConfig = {
apiKey: "Sample",
authDomain: "Sample",
projectId: "Sample",
storageBucket: "Sample",
messagingSenderId: "Sample",
appId: "Sample",
measurementId: "Sample"
}; |