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