Firebase Extensions

Firebase Extensions을 사용하면 사전 패키징된 솔루션을 통해 앱에 기능을 빠르게 배포할 수 있습니다.

Firebase Extension이 설치되면 Cloud Firestore 또는 Firebase Cloud Messaging과 같은 다른 Firebase 제품에서 들어오는 HTTPS 요청, Cloud Scheduler 이벤트 또는 트리거링 이벤트에 응답하기 위해 특정 작업 또는 작업 세트를 수행합니다.

Extensions Hub 살펴보기 확장 프로그램 설치 방법 알아보기 자체 확장 프로그램을 빌드 방법 알아보기


주요 기능

개발, 유지보수, 성장에 소요되는 시간 단축

확장 프로그램은 패키지 솔루션이므로 설치하고 구성하기만 하면 됩니다.

확장 프로그램을 사용하면 기능을 구현하거나 앱 또는 프로젝트의 작업을 자동화하는 코드를 조사, 작성, 디버깅하는 데 시간을 소비하지 않아도 됩니다.

Extensions Hub에서 앱 또는 프로젝트를 위한 솔루션을 찾아보세요.

구성 및 재사용 가능

설치된 각 확장 프로그램 인스턴스는 고유합니다.

앱, 프로젝트 또는 사용 사례별로 고유한 확장 프로그램의 구성 값을 지정합니다. 확장 프로그램의 기능에 따라 Cloud Firestore 경로, 이미지 크기 또는 GitHub URL 등 거의 모든 값을 지정할 수 있습니다.

동일한 확장 프로그램을 여러 프로젝트에서 재사용할 수 있습니다. 단일 프로젝트에 동일한 확장 프로그램의 여러 인스턴스를 설치할 수도 있습니다. 설치된 각 인스턴스에는 고유한 커스텀 구성이 있을 수 있습니다.

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 쓰기, HTTPS 요청 또는 Cloud Scheduler 이벤트)을 정의합니다.

확장 프로그램에서 함수를 사용하더라도 확장 프로그램과 함수를 구분하는 주요 차이점은 확장 프로그램은 다음을 명시적으로 정의하는 extension.yaml 사양 파일에 의존한다는 것입니다.

  • 확장 프로그램에서 사용할 Google 서비스(API)
  • 확장 프로그램이 작동하는 데 필요한 액세스 역할
  • 확장 프로그램이 작동하는 데 필요한 확장 프로그램 관련 리소스
  • 확장 프로그램의 구성 가능한 매개변수

프로젝트에 확장 프로그램을 여러 번 설치할 수 있으며, 설치된 인스턴스마다 다르게 구성할 수 있습니다.

확장 프로그램 인스턴스를 설치하면 Firebase는 다음을 수행합니다.

  1. 이 확장 프로그램 인스턴스에 사용할 필수 구성 값(매개변수)을 지정하라는 메시지가 표시됩니다.
  2. 프로젝트의 extension.yaml 파일에서 나열된 API를 사용 설정합니다.
  3. 이 확장 프로그램 인스턴스에서 사용할 새 서비스 계정을 만들고 나열된 액세스 역할을 할당합니다. 확장 프로그램 인스턴스는 이 서비스 계정에 부여된 액세스 권한을 사용하여 코드를 실행합니다.
  4. 확장 프로그램 인스턴스에 나열된 리소스(예: 함수)를 프로비저닝합니다.

설치된 각 확장 프로그램 인스턴스에는 자체 서비스 계정과 개별적으로 프로비저닝된 리소스가 있습니다.

또한 확장 프로그램 디렉터리에는 extension.yaml 파일 외에 README 같은 안내 파일도 포함됩니다. 여기에는 추가 구성 작업을 완료하거나 일반적으로 확장 프로그램을 사용하는 데 도움이 되는 정보가 포함되어 있습니다.

설치 후 확장 프로그램을 재구성하고(새 매개변수 값 지정) 최신 버전으로 확장 프로그램을 업데이트할 수 있습니다. 또한 언제든지 프로젝트에서 확장 프로그램을 제거할 수 있습니다.

Firebase CLI와 Firebase 콘솔을 사용하면 확장 프로그램을 설치하고 보고 관리할 수 있습니다.

구현 경로

확장 프로그램 찾기

Extensions Hub에서 사용 가능한 확장 프로그램을 살펴보세요.

확장 프로그램 평가, 설치, 구성

앱 또는 프로젝트의 요구사항을 해결하는 확장 프로그램을 찾으면 Extensions 에뮬레이터로 확장 프로그램을 평가한 다음 Firebase 콘솔 또는 Firebase CLI를 통해 확장 프로그램을 설치합니다.

앱 또는 프로젝트에 맞춤설정되도록 확장 프로그램을 구성합니다.

확장 프로그램 관리

Firebase 콘솔 또는 Firebase CLI를 사용하여 설치된 확장 프로그램을 보고 관리합니다.

다음 단계