Расширения Firebase

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

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

Исследуйте Extensions Hub Узнайте, как установить расширение Узнайте, как создать собственное расширение

Ключевые возможности

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

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

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

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

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

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

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

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

Интегрирует платформу Firebase

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

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

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

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

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

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

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

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

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

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

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

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

Логика расширения написана с использованием 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 позволяют устанавливать, просматривать и управлять расширениями.

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

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

Ознакомьтесь с расширениями, доступными в Центре расширений .

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

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

Настройте расширение, чтобы оно соответствовало вашему приложению или проекту.

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

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

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