Push уведомления

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
  • Открываем консоль Firebase: https://console.firebase.google.com/
  • Нажимаем «Создать проект»
  • В поле «Укажите название проекта» вписываем NoDeny
  • После создания проекта, слева вверху нажимаем на шестеренку и выбираем «Настройки проекта»
  • На вкладке «Общие настройки» в разделе «Ваши приложения» добавляем Веб-приложение (кнопка со значком </>). Псевдоним приложения устанавливаем в «NoDeny Web». Нажимаем «Зарегистрировать приложение»
  • Ниже отобразится код, в котором будет примерно такой фрагмент:
var firebaseConfig = {
    apiKey: "AIzaSheubJbsmGlMbYNYs",
    authDomain: "nodeny-main.firebaseapp.com",
    databaseURL: "https://nodeny-main.firebaseio.com",
    projectId: "nodeny-main",
    storageBucket: "",
    messagingSenderId: "768491230205",
    appId: "1:768491230205:web:46fc11c0f9b81cb9c2ef62",
    measurementId: "G-Z0VKHENJET"
  };
  • Скопируем текст между фигурных скобок. В данном случае это будет:
    apiKey: "AIzaSheubJbsmGlMbYNYs",
    authDomain: "nodeny-main.firebaseapp.com",
    databaseURL: "https://nodeny-main.firebaseio.com",
    projectId: "nodeny-main",
    storageBucket: "",
    messagingSenderId: "768491230205",
    appId: "1:768491230205:web:46fc11c0f9b81cb9c2ef62",
    measurementId: "G-Z0VKHENJET"
  • И вставляем в поле «Firebase config» в настройках NoDeny Администрирование → Push notification
  • Нажимаем «Открыть консоль»
  • Переходим на вкладку «Cloud Messaging»
  • Копируем значение параметра «Ключ сервера» и вставляем в поле «Ключ сервера» в настройках NoDeny Администрирование → Push notification
  • Копируем значение параметра «Идентификатор отправителя» и вставляем в поле «Project number»
perl install.pl -x

Далее

  • Рекомендуется в браузере включить консоль разработчика
  • На титульной странице админки NoDeny нажимаем на «Включить push-notification»
  • Нажимаем кнопку «Включить»
  • Если консоль разработчика открыта, то смотрим во вкладку Console. В ней не должно быть ошибок и текст должен быть примерно таким:
push token: e3XY9wujw7yRwals......36UGkKHFzU0v
  • Проверяем, что id вашего браузера попал в базу данных NoDeny. В mysql:
select * from notifications_users;

В таблице должна быть запись, в которой uid = id вашей учетной записи (по таблице users - ваша административная запись должна быть связана с ней).


Вручную создадим пуш-уведомление (замените 366 на id вашей учетной записи):

insert into notifications values (null, unix_timestamp(), 366, 'https://google.com', 'Test test', 'no', 0, 'u_message');

Запускаем модуль отсылки уведомлений с режимом вывода лога в консоль:

perl nokernel.pl -m=notifications -v

Должно появиться уведомление, при клике на которое должна открыться страница google.com