Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Возможности модуля

Модуль предназначен для отправки Push уведомлений в мобильное приложение и браузерах. Отправка производится с помощью firebase cloud messaging. Клиент реализован на ServiceWorker, поэтому будет работать только на домене с валидным SSL (HTTPS) сертификатом. Пуши в Firefox работают без ключа.

Установка модуля

Чтобы Push ратали нужно прописать в config.pl

$conf{PUSH_ENABLED}=1;

Создание проекта firebase

Переходим по ссылке https://console.firebase.google.com/


После создания переходим в настройки проекта

После этого переходим в настройки Cloud Messaging, а также переходим в настройки API.

После перехода в настройки API просто включаем протокол

Переходим назад в настройки Cloud Messaging и копируем Server Key и прописываем в config.pl

$conf{FIREBASE_SERVER_KEY}="Ваш ключ";

Настройка WebPush

Для настройки Web Push необходимо перейти в настройки Cloud Messaging и создать пару ключей для WebPush

После создание копируем публичный ключ и прописасываем в config.pl

$conf{FIREBASE_VAPID_KEY}="Ваш public key";

Создаем Web приложение

Копируем firebaseConfig и вносим в конфигурации на биллинге

В config.pl

$conf{FIREBASE_CONFIG} = {
  apiKey            => "Sample",
  authDomain        => "Sample",
  projectId         => "Sample",
  storageBucket     => "Sample",
  messagingSenderId => "Sample",
  appId             => "Sample",
  measurementId     => "Sample"
};

Копируем файл

cd /usr/abills/cgi-bin/
cp ../misc/firebase/firebase-config.js firebase-config.js
Вставляем настройки созданного firebaseConfig
var firebaseConfig = {
  apiKey: "Sample",
  authDomain: "Sample",
  projectId: "Sample",
  storageBucket: "Sample",
  messagingSenderId: "Sample",
  appId: "Sample",
  measurementId: "Sample"
};

Настройка Web Push готова!

Для разработчиков

Пример использования:

 # Подключаем модуль
  use Abills::Sender::Core;
  my $Sender = Abills::Sender::Core->new($db, $admin, \%conf, {
    SENDER_TYPE => 'Push'
  });

  # Отправляем сообщение
  my $request_sent = $Sender->send_message({
      UID     => 2,
      TITLE   => 'ABillS Push',
      MESSAGE => 'Hello, world sended via Push message'
    });
    
 # $request_sent == 1, если запрос к сервису Push завершился успешно. (но это не гарантирует доставку)
  • No labels