Запланируйте уведомление в flutter с помощью firebase

#firebase #flutter #firebase-realtime-database #notifications

# #firebase #flutter #firebase-база данных в реальном времени #уведомления

Вопрос:

Как я могу запланировать запуск уведомления о флаттере с помощью Firebase в фоновом режиме, даже если мобильный телефон выключен.

Ответ №1:

Обязательно ознакомьтесь с Firebase cloud messaging, если вы хотите отправлять уведомления в маркетинговых целях. Если вы хотите хранить уведомления локально, посмотрите это видео: https://www.youtube.com/watch?v=KlgVI4dQC4E

Ответ №2:

Существует несколько вариантов для этой задачи в зависимости от ваших конкретных требований к планированию.

  1. Запланируйте локальное уведомление, которое, например, запускается самими пользователями (например, некоторым напоминанием или таймером). В этом случае плагин Flutter local notifications делает свое дело.

Эти параметры используют службу обмена сообщениями Firebase cloud, для настройки следуйте этому руководству:

  1. Для планирования уведомлений время от времени (например, в маркетинговых целях) вкладка облачных сообщений в Firebase предлагает пользовательский интерфейс для планирования уведомлений.
  2. Запланируйте уведомления, повторяющиеся с фиксированным интервалом, с помощью облачных функций. Это можно сделать, используя функциональность планирования, подобную cronjob.
  3. Запланируйте уведомления, начиная с определенного момента времени (с задержкой), используя облачные функции в сочетании с облачными задачами, как описано здесь .
  4. Здесь описан более сложный способ реализации задач, но я бы не рекомендовал его, если вам нужно элегантное решение.

В конце концов, планирование уведомлений сводится к реализации механизма планирования для облачных функций.

Ответ №3:

TLDR: Вы можете использовать пакет firebase_notification_scheduler для планирования уведомлений в Flutter.

Создание ключей API

Этот плагин использует сервис Rapid API. Вам необходимо зарегистрироваться для быстрого API планировщика уведомлений Firebase и получить ключ API отсюда. Затем создайте свой ключ аутентификации отсюда для работы с пакетом

Инициализация пакета

 final FirebaseNotificationScheduler firebaseNotificationScheduler =  
    FirebaseNotificationScheduler(  
        authenticationKey: <YOUR-RAPID-API-KEY> ,
        rapidApiKey:  <YOUR-AUTHENTICATION-KEY>
        );
 

Планирование уведомления

 //Schedules a notification to the topic 'any' for next minute
    final String _payload = {
      "to": "/topics/any",
      "notification": {
        "title": "Title of Your Notification",
        "body": "Body of Your Notification"
      },
      "data": {"key_1": "Value for key_1", "key_2": "Value for key_2"}
    }.toString();
    final DateTime _now = DateTime.now().toUtc();
    final DateTime _dateTimeInUtc = _now.add(const Duration(minutes: 1));

    await firebaseNotificationScheduler.scheduleNotification(
        payload: _payload, dateTimeInUtc: _dateTimeInUtc);