擴張 프로그램 揭示者 槪要

Firebase 擴張 프로그램은 Firebase 클라우드 메시징, Cloud Firestore, Pub/Sub와 같은 다른 Firebase 및 Google 製品에서 들어오는 HTTP 要請 또는 트리거 이벤트에 對한 應答으로 特定 태스크 또는 태스크 세트를 遂行합니다.

自體 擴張 프로그램을 빌드하여 個人的인 用途로 使用하거나 Firebase Extensions Hub에서 全 世界에 共有할 수 있습니다. 例를 들어 앱에 定期的으로 必要한 特定 태스크를 遂行하거나 會社 API 中 하나에 더 쉽게 액세스하는 데 使用할 수 있는 擴張 프로그램을 빌드할 수 있습니다. 擴張 프로그램을 빌드韓 後 다른 使用者와 共有할 수 있습니다. 이러한 使用者는 自身의 Firebase 프로젝트에서 使用할 擴張 프로그램을 設置하고 構成할 수 있습니다.

擴張 프로그램의 構造

擴張 프로그램은 다음의 세 가지 構成要素로 이루어져 있습니다.

  • JavaScript 또는 TypeScript로 作成된 Cloud Functions 코드
  • 擴張 프로그램을 說明하는 메타데이터
  • 使用者가 擴張 프로그램을 構成하고 使用하는 方法을 說明하는 文書

擴張 프로그램을 開發하려면 이러한 構成要素를 다음 構造로 組合합니다.

example-extension
├── functions
│   ├── integration-tests
│   │   ├── extensions
│   │   │   └── example-extension.env
│   │   ├── firebase.json
│   │   └── integration-test.spec.js
│   ├── index.js
│   └── package.json
├── README.md
├── PREINSTALL.md
├── POSTINSTALL.md
├── CHANGELOG.md
├── icon.png
└── extension.yaml
  • functions 디렉터리에는 JavaScript 또는 TypeScript로 作成된 Cloud Functions 코드가 있습니다. 이 코드는 Firebase 및 Google 서비스에 依해 트리거되는 이벤트에 對한 應答으로 擴張 프로그램의 태스크를 遂行합니다.
  • extension.yaml 파일에는 트리거 및 IAM 액세스 役割과 같은 擴張 프로그램에 對한 메타데이터와 使用者가 構成할 수 있는 媒介變數가 包含됩니다.
  • PREINSTALL , POSTINSTALL , CHANGELOG 파일은 擴張 프로그램에 있어야 하는 最小 文書입니다. 使用者는 이러한 파일을 통해 擴張 프로그램의 機能, 使用 方法, 업데이트한 內容을 確認할 수 있습니다. 또한 使用者가 擴張 프로그램을 쉽게 알아볼 수 있도록 아이콘을 提供해야 합니다. Firebase Console, Firebase CLI, Extensions Hub는 使用者가 擴張 프로그램을 檢索, 設置, 管理할 때 이러한 파일의 콘텐츠를 表示합니다.

擴張 프로그램을 만든 後에는 Firebase CLI를 使用하여 프로젝트에 設置하거나 Extensions Hub에 揭示할 수 있습니다. Extensions Hub에서는 누구나 擴張 프로그램을 檢索하여 프로젝트에 設置할 수 있습니다.

擴張 프로그램과 相互作用할 수 있는 製品은 무엇인가요?

Firebase 擴張 프로그램은 Cloud Functions를 使用하여 作動하므로 內 擴張 프로그램의 函數를 트리거할 수 있는 製品은 무엇인가요? , 一旦 트리거되면 내 擴張 프로그램의 函數와 相互作用할 수 있는 製品은 무엇인가요? 의 두 가지 側面에서 統合의 問題를 생각해 볼 수 있습니다.

支援되는 函數 트리거

手動 트리거

먼저 函數를 手動으로 트리거할 수 있습니다. Firebase Extensions와 Cloud Functions는 函數를 手動으로 트리거하는 다음의 두 가지 方法을 支援합니다.

  • HTTP 트리거: 函數를 HTTP 엔드포인트에 配布합니다.
  • 呼出 可能 函數: Firebase 클라이언트 SDK를 使用하여 iOS, Android 또는 웹 클라이언트 코드에서 直接 Cloud Functions를 呼出합니다.

擴張 프로그램에서 HTTP 엔드포인트를 露出하면 擴張 프로그램이 웹훅을 支援하는 모든 웹 서비스와 統合될 수 있습니다. 呼出 可能 函數를 使用하면 擴張 프로그램을 設置하는 使用者가 Firebase SDK를 擴張 프로그램이 具現하는 API에 액세스하기 위한 클라이언트 라이브러리로 使用할 수 있습니다.

Firebase 서비스 트리거

大部分의 Firebase 製品은 擴張 프로그램의 Cloud Functions를 트리거할 수 있는 이벤트를 내보냅니다.

  • 애널리틱스: 애널리틱스에서 이벤트를 로깅할 때 函數를 트리거합니다.
  • 앱 配布: 앱 配布에서 알림을 트리거할 때 函數를 트리거합니다.
  • 引證: 使用者가 計定을 만들고 削除할 때 函數를 트리거합니다.
  • Cloud Firestore: 페이지가 生成, 업데이트, 削除될 때 函數를 트리거합니다.
  • Cloud Storage : 客體가 버킷에서 업로드, 保管處理, 削除될 때 函數를 트리거합니다.
  • Crashlytics: Crashlytics에서 알림을 트리거할 때 函數를 트리거합니다.
  • Performance Monitoring: Performance Monitoring에서 알림을 트리거할 때 函數를 트리거합니다.
  • 實時間 데이터베이스: 데이터가 生成, 업데이트, 削除될 때 函數를 트리거합니다.
  • 遠隔 構成: 媒介變數가 업데이트될 때 函數를 트리거합니다.
  • Test Lab: Test Lab에서 알림을 트리거할 때 函數를 트리거합니다.

Google Cloud 서비스 트리거

또한 擴張 프로그램에는 Firebase 以外의 Google Cloud 서비스 몇 個를 트리거하는 函數가 包含될 수 있습니다.

  • Cloud Pub/Sub : 構成 可能한 Pub/Sub 主題에 이벤트가 揭示될 때 트리거되는 函數가 擴張 프로그램에 包含될 수 있습니다.
  • Cloud Scheduler : 設定된 日程에 따라 實行되는 函數가 擴張 프로그램에 包含될 수 있습니다.
  • Cloud Tasks : Cloud Tasks를 使用하여 큐에 追加할 수 있는 函數가 擴張 프로그램에 包含될 수 있습니다. Firebase Extensions는 이 機能을 使用하여 擴張 프로그램 作成者가 프로젝트에 처음 設置되거나 새 버전으로 업그레이드되거나 다시 構成되는 等 擴張 프로그램의 '壽命 週期' 이벤트에 應答하는 函數를 作成할 수 있도록 합니다.
  • Eventarc : 構成 可能한 Eventarc 채널에 이벤트가 揭示될 때 트리거되는 函數가 擴張 프로그램에 包含될 수 있습니다. 反對로 擴張 프로그램은 使用者가 擴張 프로그램 의 이벤트에서 트리거하는 自體 函數를 定義할 수 있도록 自體 이벤트를 Eventarc 채널에 揭示할 수 있습니다.

函數에서 支援됨

擴張 프로그램의 Cloud 函數가 트리거되면 一般的으로 可能한 統合 範圍에 制限이 없습니다. Cloud 函數에서 遂行할 수 있는 몇 가지 主要 作業은 다음과 같습니다.

  • 支援되는 IAM 役割 을 使用하는 Firebase 또는 Google Cloud 서비스를 읽고 쓰고 相互作用합니다.
  • 웹 API를 提供하는 모든 서드 파티 서비스 를 使用합니다.
  • 웹 API를 提供하는 境遇 커스텀 서비스 를 使用합니다.
  • TensorFlow.js , Express.js 等 大部分의 JavaScript 라이브러리를 實行합니다.

擴張 프로그램 빌드 方法

始作하기 튜토리얼은 全體 擴張 프로그램을 빌드, 테스트, 揭示하는 過程을 案內하므로 擴張 프로그램을 빌드하는 方法을 알아보는 데 勸奬되는 方法입니다.

始作하기

始作 가이드를 한 番 進行했다면 自體 擴張 프로그램 빌드와 關聯된 各 태스크를 說明하는 個別 主題 가이드를 參照할 수 있습니다.