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 Translate) или даже со сторонними сервисами (например, Mailchimp и Bit.ly).

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

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

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

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

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

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

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

Как это работает?

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

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

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

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

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

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

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

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

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

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

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

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

Найти расширение

Изучите расширения, доступные в Extensions Hub .

Оценка, установка и настройка расширения

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

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

Управление расширением

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

Следующие шаги