6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Firebase Functionのトリガーをまとめた

Posted at

firebaseFunctionを勉強しようと思った時にトリガーの一覧があったら使う時に便利かなと思って作る事にしました。

クライアントコードを更新することなく、可能なfirebaseの機能のイベントを処理できるとのことなので、
Functionが利用可能な機能とそのトリガーをまとめてみました

Cloud Firestore & Realtime Database のトリガー

イベントタイプ トリガーの説明
onCreate   CloudFirestoreにドキュメントが新規に書き込まれた時に送信  
onUpdate   CloudFirestoreにすでに作成されているドキュメントが変更された時に送信  
onDelete CloudFirestoreに作成されているデータを含むドキュメントが削除された時に送信
onWrite 上記の onCreate onUpdate onDelete のどれかがトリガーされた時に送信

Firebase RemoteConfig のトリガー

RemoteConfigでトリガーを使う場合はfunctions.remoteConfigonUpdateを使う必要があります。
TemplateVersionを取得すればテンプレート更新に関する値が取り出せます。
また、提供されていれば、ユーザー名なども取得できます。

Firebse Test Lab のトリガー

テストが完了した時にトリガーを設定できます。テスト完了の知らせをSlackで受け取ることも可能です。
functions.testLab.testMatrix().onComplete() を使用して、TestMatrix が作成されたときにトリガーされる新しい関数を作成します。

exports.sendEmailNotification = functions.testLab.testMatrix().onComplete((testMatrix) => {
  // ...
});

Firebase Authentication のトリガー

Authenticationでトリガーを使う場合は ユーザーの作成(登録),削除を行った時に設定できます。

ユーザー作成時のトリガーは functions.auth.user().onCreate()で使うことができる

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {  // ...
});

ユーザー削除時のトリガーはfunctions.auth.user().onDelete()で使うことができる

exports.sendByeEmail = functions.auth.user().onDelete((user) => {  // ...
});

Google Analytics のトリガー

アナリティクスで作成したイベントに合わせてトリガーを作ることができる
functions.analytics.event() メソッドを使ってイベントのトリガーを設定する。
onLog() ハンドラ内でイベントを処理する必要があります。

exports.sendCouponOnPurchase = functions.analytics.event('in_app_purchase').onLog((event) => {  // ...
});

Crashlytics のトリガー

イベントタイプ トリガーの説明
onNew 作成したアプリで他と重複しないクラッシュが起きた時に送信
onRegressed 問題が終わった時に送信
onVelocityAlert 特定の数の問題が起きた時に送信

Storage のトリガー

イベントタイプ トリガーの説明
onArchive バケットでオブジェクトのバージョニングが有効になっている場合にのみ送信
onDelete 記録されているオブジェクトが削除された時に送信
onFinalize バケット内で新しいオブジェクトが作成された時に送信(コピーでも)アップロードエラーでは送信されない
onMetadataUpdate 既存のオブジェクトのデータが変更された時に送信

Cloud Pub/Sub トリガー

functions.pubsub を使うと Pub/Subのイベントを扱うことができます。

新しいPub/Subのメッセージが特定のトピックに送信される時にトリガーを設定することができます。
onPublishハンドラ内でイベントを設定する必要がある

exports.helloPubSub = functions.pubsub.topic('topic-name').onPublish((message) => {  // ...
});

HTTP のトリガー

functions.https を使ってHTTP メソッド(GET、POST、PUT、DELETE、OPTIONS)の同期関数を使うことができる。

Request オブジェクトを使用すると、クライアントから送信された HTTP リクエストのプロパティにアクセスできます。

exports.date = functions.https.onRequest((req, res) => {  // ...
});
6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?