Документация
ОС Аврора 5.1.7
Push-уведомления
Получив push-уведомление, приложение сначала проверяет,
не находится ли оно на переднем плане, а затем анализирует поле данных push-уведомления и ищет ключ
mtype в полученном JSON.
Если mtype равно:
action— уведомление не будет отображаться;notify— будет показан только верхний баннер;system_notify— уведомление будет отображаться только в центре уведомлений.
При любом другом значении, пустом или даже при отсутствии
mtype будут показаны оба push-уведомления (баннер и центр уведомлений).
Выбор способа отображения уведомления реализован в методе
processNotifications класса Application:
void Application::processNotifications(const Aurora::PushNotifications::PushList &pushList)
{
    qDebug() << QStringLiteral("Application %1: got %2 pushes").arg(applicationId()).arg(pushList.count());
    for (const Aurora::PushNotifications::Push &push : pushList)
    {
        qDebug() << "{";
        qDebug() << "Title: " << push.title;
        qDebug() << "Data: " << push.data;
        qDebug() << "Message: " << push.message;
        qDebug() << "}";
        // Здесь можно отобразить уведомление в графическом интерфейсе, например, добавить как элемент модели списка.
    }
    auto state = qGuiApp->applicationState(); // qGuiApp — глобальный объект Qt, указывающий на данное приложение.
    if (state != Qt::ApplicationActive) // Если приложение работает в фоновом режиме, Push-уведомления будут отображены как уведомления на экране.
    {
        for (const Aurora::PushNotifications::Push &push : pushList)
        {
            Notification notification;
            notification.setCategory(QString("common"));
            auto jsonDcoument = QJsonDocument::fromJson(push.data.toUtf8());
            auto type = jsonDcoument.object().value("mtype").toString();
            if (type == QStringLiteral("action"))
            {
                continue;
            }
            if (type == QStringLiteral("notify"))
            {
                notification.setPreviewSummary(push.title);
                notification.setPreviewBody(push.message);
            }
            else if (type == QStringLiteral("system_notify"))
            {
                notification.setSummary(push.title);
                notification.setBody(push.message);
            }
            else
            {
                notification.setSummary(push.title);
                notification.setBody(push.message);
                notification.setPreviewSummary(push.title);
                notification.setPreviewBody(push.message);
            }
            notification.publish();
        }
    }
}