Push-уведомления позволяют отправлять своевременную и актуальную информацию на телефон пользователя. Они доставляются пользователям независимо от того, открыто у них ваше приложение или нет. На этой странице вы можете включить функцию push-уведомлений в своем приложении. После включения вы можете отправить push-уведомление мгновенно или запланировать его доставку на устройство пользователя в определенное время.

FlutterFlow использует Firebase Cloud Messaging (продукт Firebase) для отправки push-уведомлений.

пуш 1

Пререквизиты

Прежде чем приступить к этому разделу, убедитесь, что вы:

  • Выполнили все шаги в разделе «Настройка Firebase» для своего проекта.
  • Добавьте план Blaze в свой проект Firebase.

Эти шаги являются обязательным условием, если вы хотите отправлять push-уведомления на устройства iOS:

  • Создали учетную запись Apple.
  • Приобрели членство разработчика Apple. Подробнее о программе Apple Developer и о том, как зарегистрироваться, читайте по этой ссылке.
  • Создали сертификат распространения iOS, идентификатор приложения и профиль обеспечения в учетной записи разработчика Apple. Здесь приведены инструкции по созданию, если вы еще не сделали этого.
Убедитесь, что вы выбрали сертификаты разработки для тестирования на реальном устройстве

Включение push-уведомления

Обратите внимание, что push-уведомления не будут работать в этих сценариях:

  • Push-уведомления не будут работать на симуляторе iOS. Для тестирования необходимо использовать реальное устройство.
  • Push-уведомления не будут работать, если пользователь не вошел в ваше приложение. Вы можете добавить анонимный вход в Firebase в ваше приложение, чтобы отправлять push-уведомления не вошедшим пользователям.
  • Push-уведомления не будут работать, если приложение открыто на вашем устройстве.

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

Ниже описаны шаги по включению Push-уведомлений во FlutterFlow:

  • Нажмите на Настройки и Интеграции в левом боковом меню.
  • В разделе Настройки приложения выберите Push-уведомления.
  • Найдите раздел Включить Push-уведомления и включите его. (Нажмите на кнопку Toggle справа).
  • Теперь нажмите на кнопку Deploy. Это создаст и развернет облачные функции в вашем проекте Firebase, необходимые для работы push-уведомлений.
Ваш проект Firebase должен быть на тарифном плане Blaze. Ознакомьтесь с дополнительной информацией о планах Blaze здесь.
пуш 2

После успешного развертывания облачных функций она должна выглядеть следующим образом:

пуш 3

Настройка приложения для iOS

Чтобы получать push-уведомления в приложении для iOS, необходимо выполнить следующие дополнительные действия.

  • Создание ключа
  • Добавьте ключ APNs в проект Firebase
  • Добавление идентификатора

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

Apple требует от разработчиков создавать ключ для push-уведомлений в Apple Developer Console для проверки отправителя push-уведомления.

Чтобы создать ключ:

  • Откройте свою учетную запись разработчика Apple.
  • Нажмите на карточку Сертификаты, идентификаторы и профили.
  • Нажмите на ключи в левом боковом меню.
  • Нажмите на кнопку (+) справа от надписи Ключи.
  • Введите Имя ключа.
  • Выберите службу Apple Push Notifications (APNs) из списка ниже.
  • Нажмите кнопку Продолжить, а затем Зарегистрировать.
  • Нажмите Загрузить и сохраните файл. Он понадобится для добавления в ваш проект Firebase.
пуш 4

Добавьте ключ APNs в проект Firebase

Чтобы добавить ключ APNs в проект Firebase:

  • На приборной панели Firebase из вашего проекта перейдите в крайнее левое меню. Выберите Настройки проекта( ) —> Настройки проекта.
  • Выберите вкладку Cloud Messaging.
  • Прокрутите вниз и найдите ваше приложение iOS в разделе Конфигурация приложений Apple.
  • В разделе Ключ аутентификации APNs нажмите на Загрузить. Появится всплывающее окно для загрузки и ввода данных ключа.
  • Нажмите на кнопку Browse, чтобы найти и загрузить файл ключа аутентификации APNs.
  • Введите идентификатор ключа. Идентификатор ключа можно найти в Центре разработчиков Apple в разделе
  • Сертификаты, идентификаторы и профили -> Ключи -> Нажмите на Ключ.
  • Введите идентификатор команды. Идентификатор команды можно найти в Apple Member Center на вкладке Членство.
пуш 5

Добавление идентификатора

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

Чтобы добавить идентификатор:

  • Откройте свою учетную запись разработчика Apple.
  • Нажмите на карточку Certificates, Identifiers & Profiles.
  • Нажмите на Идентификаторы в левом боковом меню.
  • Нажмите на кнопку (+) в правой части ярлыка Идентификаторы.
  • Выберите Идентификаторы приложений и нажмите кнопку Продолжить.
  • Выберите Тип приложения и нажмите кнопку Продолжить.
  • Введите Описание как ImageNotification.
  • Введите Bundle ID как имя вашего пакета и добавьте .ImageNotification в конце.
  • Нажмите Продолжить, а затем нажмите Регистрация.
пуш 6

После настройки iOS отправьте push-уведомления в приложение iOS.

Вот как это работает в приложении iOS:

пуш7

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

Push-уведомления не будут работать в симуляторе iOS. Вместо этого вам нужно будет протестировать это на реальном устройстве.

Push-уведомления не будут отображаться, если у вас открыто приложение.

Используйте эти шаги для создания и отправки push-уведомлений из FlutterFlow:

  • Нажмите на Настройки и Интеграции в левом боковом меню.
  • Перейдите на вкладку Push-уведомления.
  • Найдите раздел Manually Trigger Notifications и нажмите на него, чтобы развернуть раздел.
  • В поле Notification Title введите текст, который вы хотите установить в качестве заголовка для уведомления.
  • В Тексте уведомления введите содержание вашего уведомления.
  • Нажмите на Upload Notification Image (Загрузить изображение уведомления), чтобы установить изображение, которое будет отображаться в уведомлении. (Необязательно)
  • Найдите выпадающий список Целевая аудитория. Оставьте опцию Все выбранной, если вы хотите отправлять уведомления как пользователям Android, так и iOS. Вы можете выбрать Android или iOS, если хотите нацелиться на пользователей конкретных ОС.
  • Чтобы отправить push-уведомления определенному или нескольким пользователям, введите ссылку на документ пользователя (из коллекции пользователей в Firestore) в поле User References.
  • Найдите выпадающий список Начальная страница и выберите страницу, которую вы хотите открыть, когда пользователь нажмет на уведомление.
  • Нажмите на кнопку Отправить уведомление.
  • Чтобы подтвердить, что вы хотите отправить это уведомление, появится всплывающее окно. Вам нужно ввести текст ‘Send Notification’ и снова нажать на Send Notification.
пуш7

Push-уведомления с данными

Вы можете захотеть передать некоторые данные с push-уведомлениями и показать более подробную информацию об этих данных на странице (когда страница открывается через push-уведомление).

Чтобы отправить push-уведомление с данными:

  • У вас должна быть страница, которая принимает параметр типа record из коллекции firestore.
  • Создайте уведомление, используя инструкции здесь.
  • Во время создания уведомления прокрутите страницу вниз, чтобы найти раздел «Начальная страница» и выберите страницу, которая принимает параметр.
  • Найдите раздел Parameter Data, скопируйте ссылку на документ из Firestore и вставьте ее в поле ввода ниже.
  • Нажмите на кнопку Отправить уведомление.
пуш 8

Запуск Push-уведомления

Вы можете захотеть отправить push-уведомление, когда что-то происходит в вашем приложении. Например, отправка push-уведомления при отправке сообщения, push-уведомление при записи на новую встречу, push-уведомление при изменении цены и т.д. Вы можете отправить push-уведомление при наступлении такого события, добавив действие Trigger Push Notification.

Для наглядности рассмотрим пример отправки push-уведомления создателю сообщения, когда кто-то комментирует сообщение.

пуш 9

Ниже приведены шаги:

  1. Получение ссылки на документ пользователя
  2. Создание пользовательского интерфейса
  3. Добавление триггерного действия push-уведомления

Получение ссылки на документ пользователя

Ссылка на документ пользователя указывает на документ пользователя внутри коллекции пользователей. Она помогает получить данные пользователя для отправки push-уведомления на устройство (на котором пользователь вошел в систему).

При добавлении действия для запуска push-уведомления вам понадобится ссылка на документ пользователя, хранящаяся где-то в переменной.

В идеале, вы должны получить ссылку на документ пользователя из документа Firestore. Документ Firestore может содержать поле типа created_by, которое хранит ссылку на документ пользователя. Но для упрощения давайте просто сохраним ссылку в локальной переменной состояния, которая выглядит следующим образом:

пуш 10

В случае, если вам нужно отправить push-уведомления нескольким пользователям. Например, отправка уведомлений всем пользователям, которым понравилось сообщение, когда кто-то комментирует сообщение. Вы можете получить список/массив ссылок на документы пользователей из документа Firestore или из любой локальной переменной состояния вашего приложения. Список ссылок на документы в локальной переменной состояния выглядит следующим образом:

пуш 11

Узнайте больше о работе с переменными Local state.

Создание пользовательского интерфейса

В этом шаге мы создадим пользовательский интерфейс, позволяющий ввести комментарий, и кнопку для отправки комментария.

Вот шаги:

  • Создайте/выберите страницу.
  • Выберите виджет Column.
  • Добавьте виджет TextField для ввода комментария и дайте ему имя.
  • Добавьте виджет Button для отправки комментария.
пуш 12

Добавление действия для запуска push-уведомления

Добавьте действие для запуска push-уведомления, посетив следующую страницу.