Firebase Extensions

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

После установки Firebase Extension выполняет определенную задачу или набор задач в ответ на HTTPS-запросы, события Cloud Scheduler или события-триггеры из других продуктов Firebase, таких как Cloud Firestore или Firebase Cloud Messaging.

Открыть Extensions Hub Как установить расширение Как создать собственное расширение


Основные функции

Сократите время на разработку, обслуживание и развитие

Поскольку расширение представляет собой пакетное решение, вам нужно только установить и настроить его.

Благодаря расширениям вам не нужно тратить время на поиск, написание и отладку кода, который реализует функции или автоматизирует задачи для вашего приложения или проекта.

Изучите Extensions Hub, чтобы найти решения для своего приложения или проекта.

Возможность настройки и повторного использования

Каждый установленный экземпляр расширения уникален.

Вы задаете значения конфигурации для расширения, которые уникальны для вашего приложения, проекта или варианта использования. В зависимости от того, что делает расширение, эти значения могут быть практически любыми: путь Cloud Firestore, размеры изображения или URL GitHub.

Одно и то же расширение можно использовать в разных проектах. В один проект можно установить несколько экземпляров одного и того же расширения. У каждого установленного экземпляра может быть своя конфигурация.

Интеграция с платформой Firebase

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

Расширения могут реагировать на события, создаваемые продуктами Firebase, которые вы уже используете в своем приложении. Изменение в одном продукте Firebase может запустить расширение для выполнения его задачи, даже задачи с использованием другого продукта. Например, определенная запись Realtime Database может запустить отправку нового уведомления Firebase Cloud Messaging.

Расширение также может интегрировать ваш проект Firebase с другими продуктами Google Cloud Platform (например, BigQuery и Google Переводчик) или даже со сторонними сервисами (например, Mailchimp и Bit.ly).

При этом триггерные события не ограничиваются событиями Firebase. Вы даже можете активировать расширение напрямую с помощью HTTPS-запроса или через запланированный интервал.

Безопасность и ограниченный доступ

Логика приложения для расширений выполняется на сервере с помощью Google Cloud Functions, поэтому код полностью изолирован от клиента.

Кроме того, расширения изолированы от остальной части проекта, поскольку установленное расширение получает ограниченный доступ только к ресурсам и данным, которые явно указаны перед установкой.

Не требует обслуживания

Установите и настройте расширение для проекта Firebase. После этого серверная часть автоматически масштабирует вычислительные ресурсы в соответствии с потребностями вашего расширения.

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

Принципы работы

По сути, Firebase Extension – это код, который выполняет задачу, когда в приложении или проекте происходит определенное событие.

Логика расширения написана с использованием Cloud Functions for Firebase. Функции в расширении определяют поставщиков событий и условия, которые запускают выполнение (например, запись Cloud Firestore, HTTP-запрос или событие Cloud Scheduler).

Хотя расширения используют функции, основное отличие между ними заключается в том, что расширение опирается на extension.yamlфайл спецификации, в котором явно определены:

  • Сервисы Google (API), которые будет использовать расширение
  • Роли доступа, необходимые для работы расширения.
  • Ресурсы, необходимые для работы расширения.
  • Настраиваемые параметры расширения.

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

При установке экземпляра расширения Firebase выполняет следующие действия:

  1. Предлагает указать необходимые значения конфигурации (параметры), которые будут использоваться для этого экземпляра расширения.
  2. Включает для проекта API, перечисленные в файле extension.yaml.
  3. Создает новый сервисный аккаунт, который будет использоваться этим экземпляром расширения, и назначает ему перечисленные роли доступа. Экземпляр расширения выполняет свой код, используя доступ, предоставленный этому сервисному аккаунту.
  4. Предоставляет перечисленные ресурсы для экземпляра расширения (например, функцию).

Обратите внимание, что у каждого установленного экземпляра расширения есть собственный сервисный аккаунт и индивидуально выделенные ресурсы.

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

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

Устанавливать расширения, просматривать информацию о них и управлять ими можно как в интерфейсе командной строки Firebase, так и в консоли Firebase.

Путь реализации

Как найти расширение

Посмотрите расширения, доступные в Extensions Hub.

Как оценить, установить и настроить расширение

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

Настройте расширение для своего приложения или проекта.

Как управлять расширением

Просматривайте установленное расширение и управляйте им с помощью консоли Firebase или интерфейса командной строки Firebase.

Дальнейшие действия