Больше

Создание приложения на Flutter с интеграцией OverlayPortal и Back4app

15min

Введение

В этом учебном пособии мы научимся использовать OverlayPortal в Flutter для создания динамических наложений для виджетов, таких как подсказки или меню. Кроме того, мы интегрируем Back4app для хранения и управления данными пользователей, такими как предпочтения или действия, предпринятые при взаимодействии с наложением.

К концу этого учебного пособия вы сможете:

  • Реализовать OverlayPortal в приложении Flutter.
  • Отображать интерактивные наложения, такие как плавающие меню или подсказки.
  • Интегрировать Back4app в качестве бэкенда для хранения данных, связанных с наложением (например, предпочтений пользователей или действий).

Предварительные требования

  1. Среда Flutter: Убедитесь, что у вас установлен Flutter. Следуйте руководству по установке.
  2. Учетная запись Back4app: Зарегистрируйтесь на Back4app для использования в качестве вашего бэкенда.
  3. Базовые знания о виджетах Flutter: Знакомство с общими виджетами Flutter, такими как кнопки, контейнеры и наложения.

Шаг 1: Настройка Back4app

1.1 Создание проекта Back4app

  1. Войдите в свой аккаунт Back4app и создайте новый проект с именем OverlayDemoApp.
  2. Создайте Parse Class с именем OverlayActions с следующими полями:
    • имя пользователя (String): Имя пользователя.
    • тип действия (String): Действие, выполненное на наложении (например, "Открыто", "Закрыто", "Нажато").
    • временная метка (DateTime): Время, когда произошло действие.

1.2 Получите свои учетные данные Back4app

На панели управления Back4app перейдите в настройки вашего проекта и получите свой ID приложения и Ключ клиента. Эти учетные данные будут использоваться для инициализации Back4app в вашем приложении Flutter.

Шаг 2: Настройка проекта Flutter

2.1 Создание нового проекта Flutter

Откройте терминал и создайте новый проект Flutter:

Bash


2.2 Добавление зависимостей

Откройте файл pubspec.yaml и добавьте необходимые зависимости для Parse SDK и OverlayPortal:

YAML


Запустите flutter pub get для установки зависимостей.

2.3 Инициализация Parse SDK

В lib/main.dart, инициализируйте Parse SDK с вашими учетными данными Back4app:

Dart


Замените YOUR_BACK4APP_APP_ID и YOUR_BACK4APP_CLIENT_KEY на ваши учетные данные Back4app.

Шаг 3: Реализация OverlayPortal в Flutter

3.1 Создайте виджет OverlayScreen

В lib/overlay_screen.dart, создайте основной виджет, где мы реализуем OverlayPortal:

Dart


В этой реализации:

  • OverlayPortal включается и выключается нажатием кнопки.
  • Взаимодействие пользователя (открытие, закрытие или нажатие) записывается в Back4app с использованием метода _logAction.
  • Накладка содержит сообщение и кнопку, которая инициирует действие.

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

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

Шаг 4: Запуск приложения

  1. Откройте терминал и запустите приложение с помощью:
  2. Нажмите кнопку Показать наложение для переключения наложения. Когда наложение видно, нажмите кнопку внутри наложения. Все взаимодействия (открытие, закрытие и нажатие) будут записаны в Back4app.

Шаг 5: Просмотр зарегистрированных действий в Back4app

Чтобы проверить, что действия пользователя записываются:

  1. Перейдите на свою панель управления Back4app.
  2. Перейдите к классу OverlayActions.
  3. Вы должны увидеть записи действий (открыто, закрыто, нажато) с отметками времени.

Шаг 6: Настройка наложения

Вы можете дополнительно настроить наложение, выполнив следующие действия:

  • Изменив положение наложения с помощью виджета Positioned.
  • Добавив более сложные виджеты, такие как формы или меню, в наложение.
  • Стилизовав наложение с помощью различных цветов, границ и теней.

Заключение

В этом учебном пособии вы узнали, как реализовать OverlayPortal в приложении Flutter для создания интерактивных наложений, которые можно включать и выключать. Кроме того, мы интегрировали Back4app для регистрации взаимодействий пользователей с наложением, предоставляя надежный бэкенд для хранения данных и улучшения функциональности приложения.

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

Для получения дополнительной информации: