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 write может вызвать отправку нового уведомления 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, HTTPS-запрос или событие Cloud Scheduler).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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