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

Исправление отправки push-уведомлений на ноль устройств

Push-уведомления позволяют приложениям отправлять обновления, оповещения и сообщения непосредственно пользователям. В некоторых случаях после запуска push-уведомления FlutterFlow отображает следующее сообщение:

Push Notification sent to 0 devices

Это означает, что уведомление было отправлено, но ни одно подходящее устройство его не получило.

Вот возможные причины:

  • Ни одно зарегистрированное устройство не сгенерировало токены FCM.
  • Целевые устройства были в режиме оффлайн во время отправки.
  • Неправильная конфигурация в настройках Firebase или FlutterFlow.
  • Отсутствующие разрешения или конфигурация API.
  • Устройства получателей заблокировали push-уведомления.

Ниже приведены шаги по устранению неисправностей и решению этой проблемы:

  1. Проверьте, включены ли Firebase Functions

    • Убедитесь, что Firebase Functions включены в консоли Firebase.
    • Подтвердите, что ваш проект находится на плане Blaze.

  2. Удалите и повторно разверните Firebase Cloud Functions

    • Вручную удалите Cloud Functions, связанные с push-уведомлениями, из Firebase.

    • После удаления повторно разверните Push Notifications из FlutterFlow:

  3. Проверьте конфигурацию региона сервера

    • Убедитесь, что регион сервера Firebase соответствует конфигурации в FlutterFlow.

    • Например, если регион сервера — us-central1, он должен совпадать как в Firebase, так и в FlutterFlow.

      В FlutterFlow: Перейдите в Settings > Firebase > Advanced Settings и установите правильный регион.

      В Firebase: Проверьте, что Cloud Functions развернуты в том же регионе.

  4. Проверьте настройки API FCM в консоли Google Cloud

    • Откройте Консоль Google Cloud.

    • Найдите FCM API и убедитесь, что она включена.

    • Убедитесь, что в консоли Firebase доступен действительный ключ сервера. Если его нет, создайте его через консоль Google Cloud.

  5. Проверьте разрешения Cloud для сервисного аккаунта flutterflow.io

    Чтобы обеспечить правильную связь между FlutterFlow и Firebase:

    • Шаг 1: Откройте консоль Firebase

    • Шаг 2: Перейдите к пользователям и разрешениям

      • Откройте Project Settings через значок шестеренки (⚙️).

      • Выберите Users & Permissions.

    • Шаг 3: Проверьте существующие разрешения

      • Найдите сервисный аккаунт firebase@flutterflow.io.

      • Убедитесь, что назначены следующие роли:

        • Editor
        • Cloud Functions Admin
        • Service Account User

    • Шаг 4: Добавьте недостающие разрешения

      • Если какие-либо роли отсутствуют:
        • Нажмите Add Member.
        • Введите firebase@flutterflow.io.
        • Выберите недостающие роли из выпадающего списка:
          • Editor
          • Cloud Functions Admin
          • Service Account User

    • Шаг 5: Убедитесь, что все разрешения применены

      • Подтвердите, что все необходимые роли теперь отображаются рядом с сервисным аккаунтом.

Выполнение этих шагов должно решить большинство проблем с доставкой push-уведомлений.