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