Перейти к основному содержимому

Сервис пуш-уведомлений для Aurora OS

Получение учетных данных

  • Направьте запрос в техническую поддержку: dev-support@omp.ru
  • Получите:
    • applicationId
    • Конфигурационный файл .yaml
    • Адрес экземпляра Aurora Center

Настройка запуска приложения

  1. Добавьте Qt-совместимость и обработку фонового режима Main.cpp:
#include <flutter/compatibility.h>
#include <QtCore/QDebug>
#include <QCoreApplication>
#include <flutter/flutter_aurora.h>
#include <flutter/flutter_aurora_capi.h>
#include <flutter/flutter_compatibility_qt.h>
#include "generated_plugin_registrant.h"

int main(int argc, char* argv[]) {
bool noGui = false;
for (int i = 1; i < argc; ++i) {
if (qstrcmp(argv[i], "--no-gui") == 0) {
noGui = true;
break;
}
}

aurora::Initialize(argc, argv);
aurora::EnableQtCompatibility();
aurora::RegisterPlugins();

FlutterAuroraLaunchOptions options;
FlutterAuroraLaunchOptionsInitDefault(&options, sizeof(options));

options.gui_type = noGui
? FlutterAuroraGuiForceDisabled
: FlutterAuroraGuiForceEnabled;

qDebug() << "Launching Flutter" << (noGui ? "headless" : "with GUI");
FlutterAuroraLaunch(&options);

return 0;
}
  1. Добавьте разрешения в файл aurora/desktop/YOUR_APP_NAME.desktop:
[X-Application]
Permissions=PushNotifications;Internet

Обработка фоновых уведомлений

  1. Добавьте фоновый обработчик entry-point для изолята:
@pragma('vm:entry-point')
Future<void> backgroundMessage(Map<dynamic,dynamic> message) async {
print("Background message: $message");
// Ваша логика обработки
}
  1. Инициализация плагина
void main() async {
WidgetsFlutterBinding.ensureInitialized();

await PushedMessaging().init(
backgroundMessage, // ваш обработчик
applicationId: 'ВАШ_APPLICATION_ID',
);

runApp(const MyApp());
}