Push Sender

Push Sender

The app provides a user interface for sending push notifications through Aurora Center

Отправитель push-уведомлений

Приложение предоставляет интерфейс пользователя для отправки push-уведомлений через Аврора Центр.

Приложение может быть использовано как пример реализации интерфейса с сервером push-уведомлений, так и в качестве утилиты, предназначенной для инфраструктуры тестирования или отладки.

Статус сборки:

  1. example - pipeline status
  2. dev - pipeline status

Зависимости

  • OpenSSL (для генерации запросов OpenId Connect для получения JWT-token)
  • pipacs/o2 -- библиотека для OAuth 2.0, которая совместима с Qt 5.6 (лицензия: BSD-2-Clause). В то время как ванильный Qt>5.8 также имеет внутренний Qt Network Authorization, который недоступен в Qt5.6.
  • QtYAML -- Qt-оболочка для LibYAML (лицензия: MIT)
  • LibYAML -- YAML-парсер (лицензия: MIT). Используется старая версия (0.1.5), поскольку версия 0.2.5 требует обновления QtYAML

Все зависимости уже скопированы в поддиректорию проекта 3rdparty.

Использование

На главной странице приложения конфигурируется идентификатор регистрации, который может быть получен из мобильного приложения после регистрации через систему push daemon.

На дополнительной прикреплённой странице конфигурируются параметры push-сервера, которые могут быть получены из пользовательского веб-интерфейса push-сервера. Настройки сервера сохраняются между перезапусками приложения.

Push-уведомление отправляется из выпадающего меню с текстом из подготовленного поля ввода.

Для настройки демона на устройстве для работы с push-сервером смотрите раздел Особенности.

Особенности

  1. Версии Аврора ОС начиная с 5.0.1.
    Для корректной работы с Push-уведомлениями устройство должно быть зарегистрировано в Аврора Центр. Также для корректной работы необходимо, чтобы на устройстве был установлен актуальный для версии ОС клиент Аврора Центр. В этом случае конфиг для push сервиса заполнится автоматически.

  2. Версии Аврора ОС до 5.0.1.
    Для корректной работы с уведомлениями необходимо настроить push сервис - задать adress, port и выставить флаг для crlValidation в false. Для получения текущих настроек, можно воспользоваться командой devel-su gdbus call -y -d ru.omprussia.PushDaemon -o /ru/omprussia/PushDaemon -m ru.omprussia.PushDaemon.GetNetworkConfiguration. Для установки параметров: devel-su gdbus call -y -d ru.omprussia.PushDaemon -o /ru/omprussia/PushDaemon -m ru.omprussia.PushDaemon.SetNetworkConfiguration "{'address':<'push-server.ru'>, 'port':<8000>,'crlValidation':<false>"} (важно, чтобы хост был без протокола, например https://), после чего необходимо перезапустить push-daemon с помощью команды devel-su systemctl restart push-daemon.

Условия использования и участия

Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.

Лицензии зависимостей:

Соглашение участника регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».

Информация об участниках указана в файле AUTHORS.

Кодекс поведения (документ на английском) — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.

Структура проекта

Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.

  • Файл ru.auroraos.PushSender.pro описывает структуру проекта для системы сборки qmake.
  • Каталог 3rdparty содержит зависимости проекта.
  • Каталог icons содержит иконки приложения для поддерживаемых разрешений экрана.
  • Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
    • Каталог components содержит вспомогательные QML компоненты.
    • Каталог cover содержит реализации обложек приложения.
    • Каталог icons содержит дополнительные иконки интерфейса пользователя.
    • Каталог pages содержит страницы приложения.
    • Файл PushSender.qml предоставляет реализацию окна приложения.
  • Каталог rpm содержит настройки сборки rpm-пакета.
  • Каталог src содержит исходный код на C++.
    • Файл main.cpp является точкой входа в приложение.
    • Файл server.h содержит объявление класса пуш сервера.
    • Файл server.cpp содержит определение класса пуш сервера.
    • Файл serversettings.h содержит настройки сервера.
    • Файл settingsmanager.h содержит объявление менеджера настроек.
    • Файл settingsmanager.cpp содержит определение менеджера настроек.
  • Каталог translations содержит файлы перевода интерфейса пользователя.
  • Файл ru.auroraos.PushSender.desktop определяет отображение и параметры запуска приложения.

Снимки экранов

screenshots

This document in English

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.