Пуш-уведомления
- Заходим https://console.firebase.google.com
- Нажимаем "Добавить проект"
- Название проекта: NoDeny. Выбираем страну. Нажимаем "Создать проект"
- Вверху слева рядом с Project Overview находится шестеренка (settings), нажимаем ее и выбираем "Настройки проекта"
- Выбираем закладку "CLOUD MESSAGING"
- С этой страницы нам необходимо перенести 2 параметра в настройки в админке NoDeny:
- "Устаревший ключ сервера" в подраздел "Push notification" в параметр "API key"
- "Идентификатор отправителя" в подраздел "Push notification" в параметр "Project number"
- Создадим файл-манифест:
perl install.pl -x
- Проверим, что создался файл-манифест:
cat /usr/local/nodeny/htdocs/manifest.json
- На титульной странице админки нажимаем "Включить push-notification". Затем "Включить"
- Если получаем ошибку, то открывает dev-консоль браузера и смотрим в чем проблема
- Заходим в настройки администратора и смотрим, что учетная запись администратора связана с учетной записью в биллинге (параметр "Он же")
- Также устанавливаем галку "Получение пуш-уведомления по сообщению от абонента"
- Тестируем: отправляем сообщение из личного кабинета абонента
- Запускаем в режиме подробной информации модуль ядра notifications:
perl /usr/local/nodeny/nokernel.pl -m=notifications -v
- Через несколько секунд на экране вашего компьютера должно появиться всплывающее окно, сигнализирующее о том, что пришло событие. Кликните по этому окну
Если что-то не получается, обратите внимание на такие моменты:
- Если вы что-то меняете в настройках, например ключ или id проекта, необходимо обязательно:
- перезаписать манифест: perl install.pl -x
- очистить таблицу notifications_users: truncate notifications_users;
- зайти в настройки хрома (chrome://settings/content/notifications) и удалить оповещения для вашего сайта
- заново подписаться на оповещения (пуш-уведомления) на титульной странице NoDeny
Если ничего не помогает, необходимо убедиться, что ключ валидный:
curl --header "Authorization:key=ваш_ключ" --header Content-Type:"application/json" https://gcm-http.googleapis.com/gcm/send -d "{\"registration_ids\":[\"ABC\"]}"
- это оправка некорректного сообщения, но это неважно, важно что ответит сервер. Если ошибку 401 - ключ неверен. Если сообщение, что не отправлено т.к. InvalidRegistration - отлично, ключ корректный.
Также необходимо убедиться, что вы использовали "Устаревший ключ сервера", а не "Ключ сервера".