Push Receiver

Push Receiver

The application allows you to receive and process push notifications

RU | EN

Push Receiver

Описание приложения

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

При получении уведомления от push-сервера первым шагом является проверка того, запущен ли в данный момент PushReceiver. Если он не запущен, значит, он работает в фоновом режиме (без графического интерфейса). Далее все уведомления, доставляемые на устройство, принимаются через API Push-daemon и для каждого из них создается графическое представление с помощью Notifications API. Если приложение работает в фоновом режиме и для него не поступало уведомлений в течение некоторого времени, то приложение выключается. Графическое представление уведомлений может быть отображено в виде всплывающего окна или помещено в шторку уведомлений. Нажатие на любое из них приводит к запуску приложения с графическим интерфейсом, если оно еще не было запущено, либо будет отображен графический интерфейс для текущего процесса.

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

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

Содержание

Совместимость

Приложение корректно работает начиная с ОС Аврора 4.х.х и выше.

Информация о ветках

Версии приложения соответствуют соглашению об наименовании веток

Установка и запуск

Подготовка к работе

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

  • Первый шаг - отправить письмо в службу поддержки разработчиков по адресу dev-support@omp.ru в котором нужно сообщить название приложения и запросить архив с двумя конфигурационными yaml файлами. В дальнейшем понадобится файл следующего содержания:

      push_notification_system:
        project_id: "..."
        push_public_address: "..."
        api_url: "..."
        client_id: "..."
        scopes: "..."
        audience: "..."
        token_url: "..."
        key_id: "..."
        private_key: "..."
    
  • Следующим шагом будет загрузка исходного кода приложения PushReceiver. Для того чтобы это приложение работало с push-сервером необходимо задать Application ID. Для этого существует два способа: либо в pro файле проекта присвоить переменной APP_ID нужное значение (например: APP_ID = orgexampleappname_fc7dfs3asd9fdgsa0), либо после установки приложения на устройство, необходимо задать полученное от push-сервера значение Application ID, в файл applicationid, расположенное на устройстве по пути /usr/share/ru.auroraos.PushReceiver/. Далее, при условии что в файле установлен корректное значение Application ID, при первом запуске приложения, оно будет зарегистрировано на push-сервере и ему будет присвоен Registration ID, который потребуется в программе PushSender. Его можно скопировать, нажав на кнопку справа от поля вывода.

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

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

  • Следующим шагом будет загрузка исходного кода приложения PushSender, его сборка и установка на устройство. На первой странице необходимо указать Registration ID, который можно получить из PushReceiver (описано в предыдущем параграфе). На второй странице приложения через верхнее выпадающее меню можно импортировать конфигурационный yaml файл.

Особенности

  1. Версии Аврора ОС начиная с 5.0.1.

    • Наличие Аврора Центр на устройстве и его регистрацией
  2. Версии Аврора ОС до 5.0.1.

    • Настройка push сервиса - задать address, 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.

Установка

Установка и запуск производятся согласно инструкции сборка примера.

При возникновении ошибки pushclient development package not found нужно проверить, корректно ли подключено пространство имён PushNotifications. Прочитать об этом можно в данной статье.
Приложению для работы необходимо иметь разрешение на PushNotifications и Internet. Эти разрешения задаются в .desktop файле.

Скриншоты

Скриншоты

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

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

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

Правила использования и участие в разработке

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

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

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

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

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

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