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 выполняет следующие действия:
- Предлагает указать необходимые значения конфигурации (параметры), которые будут использоваться для этого экземпляра расширения.
- Включает для проекта API, перечисленные в файле
extension.yaml. - Создает новый сервисный аккаунт, который будет использоваться этим экземпляром расширения, и назначает ему перечисленные роли доступа. Экземпляр расширения выполняет свой код, используя доступ, предоставленный этому сервисному аккаунту.
- Предоставляет перечисленные ресурсы для экземпляра расширения (например, функцию).
Обратите внимание, что у каждого установленного экземпляра расширения есть собственный сервисный аккаунт и индивидуально выделенные ресурсы.
Помимо файла extension.yaml, каталог расширения содержит файлы с инструкциями, например README, в которых приведена информация, помогающая выполнять дальнейшие задачи по настройке или использовать расширение.
После установки вы можете изменить конфигурацию расширения (указать новые значения параметров), а также обновить его до более новой версии. Вы также можете в любой момент удалить расширение из проекта.
Устанавливать расширения, просматривать информацию о них и управлять ими можно как в интерфейсе командной строки Firebase, так и в консоли Firebase.
Путь реализации
| Как найти расширение | Посмотрите расширения, доступные в Extensions Hub. |
|
| Как оценить, установить и настроить расширение | Когда вы найдете расширение, которое решает задачу в вашем приложении или проекте, вы можете оценить его с помощью эмулятора Extensions, а затем установить через консоль Firebase или интерфейс командной строки Firebase. Настройте расширение для своего приложения или проекта. |
|
| Как управлять расширением | Просматривайте установленное расширение и управляйте им с помощью консоли Firebase или интерфейса командной строки Firebase. |
Дальнейшие действия
Откройте для себя Extensions Hub.
Установите расширение в проект с помощью консоли Firebase или CLI Firebase.