Push-уведомления Aurora
Push-уведомления — это короткие уведомления от сторонних приложений на мобильное устройство. Уведомления доставляются через глобальный Интернет или интранет. Этот тип сообщений позволяет серверам приложений информировать пользователей о важных событиях, даже если приложение не запущено.
ОС Аврора предоставляет API push-уведомлений для приложений, которые могут взаимодействовать с сервером push-уведомлений и получать такие сообщения.
Использование системы push-уведомлений Aurora
Все средства для работы с системой push-уведомлений Aurora предоставляются libpushclient.
Чтобы использовать эту библиотеку, приложение должно использовать файл pkgconfig "pushclient.pc".
qmake
В проекте на основе qmake необходимо добавить в .pro файл следующие строки:
CONFIG += link_pkgconfig
PKGCONFIG += pushclient
CMake
При использовании системы сборки Cmake нужно выполнить подключение библиотеки в файле CMakeLists.txt:
-
Найти пакет
pushclientс помощью модуляPkgConfig:include(FindPkgConfig) pkg_search_module(PUSHCLIENT pushclient REQUIRED) -
Добавить пути к заголовочным файлам библиотеки в список директорий для поиска:
include_directories(${PUSHCLIENT_INCLUDE_DIRS}) -
Связать библиотеку
pushclientс целевым исполняемым файлом приложения:target_link_libraries(${PROJECT_NAME} PRIVATE # ... другие библиотеки проекта ... pushclient )
Клиент push-уведомлений Aurora
Класс Aurora::PushNotifications::Client предоставляет API для связи с сервером push-уведомлений,
который включает в себя различные запросы и ответы.
Примечание — Перед началом работы в клиенте необходимо указать идентификатор приложения.
auto client = new Aurora::PushNotifications::Client();
// connect to signals
connect(m_client, &Aurora::PushNotifications::Client::registrationId,
this, &MyPushHandler::processRegistrationId);
connect(m_client, &Aurora::PushNotifications::Client::notifications,
this, &MyPushHandler::processNotifications);
connect(m_client, &Aurora::PushNotifications::Client::registrationError,
this, &MyPushHandler::handleRegistrationError);
connect(m_client, &Aurora::PushNotifications::Client::clientInactive,
this, &MyPushHandler::handlePushClientInactivity);
connect(m_client, &Aurora::PushNotifications::Client::pushSystemReadinessChanged,
this, &MyPushHandler::handlePushSystemReadinessChange);
// set id
client->setApplicationId("SomeID");
// register application on Push Server
client->registrate();
Подробное описание работы с push-уведомлениями доступно в данном руководстве.
См. также
C++-классы push-уведомлений Aurora
Пример использования: Push Receiver