この記事は Brendan Lim、プロダクト マネージャー による The Firebase Blog の記事 "Introducing Cloud Functions for Firebase" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Firebase は、アプリの大半はクライアント コードで構築できるという前提で開発されています。多くの場合、その方が簡単で高速だからです。しかし、中にはサーバーのコードが必要な場合もあります。たとえば、信頼されたコードの実行、サードパーティ API の認証、電池を消耗する重い操作の実行などです。こういった例では、自前でサーバーを用意する必要がありました。しかし、それも今日までのことです。
本日(*原文公開当時)は、Cloud Functions for Firebaseのベータ版がリリースされたことをお知らせします。これは、JavaScript を記述して Google のクラウド インフラにデプロイすると、Firebase エコシステム全体で発生する各種イベントをトリガーにコードを実行できる機能です。この機能については、Firebase のリリース以降、もっとも多くのリクエストが寄せられていました。Cloud Functions を使って Firebase 機能を拡張し、相互に接続することで、Firebase はさらに強力になり、デベロッパーはサーバーのことを考えずに一層アプリに集中できるようになります。
Cloud Functions は、モバイルアプリの構築に役立つ柔軟なツールです。今回リリースされたこの機能では多くのタスクを実装することができます。そのうちいくつかを紹介しましょう。
Firebase Analytics と組み合わせると、特定のコンバージョン イベントが発生した際に、コードを呼び出すことができます。これによって、クライアントのコードをアップデートしなくても、モバイルアプリの拡大や定着に関するワークフローを自動化する機能を作成できます。
Posted by Khanh LeViet - Developer Relations Team
Brendan Lim
Product Manager本日(*原文公開当時)は、Cloud Functions for Firebaseのベータ版がリリースされたことをお知らせします。これは、JavaScript を記述して Google のクラウド インフラにデプロイすると、Firebase エコシステム全体で発生する各種イベントをトリガーにコードを実行できる機能です。この機能については、Firebase のリリース以降、もっとも多くのリクエストが寄せられていました。Cloud Functions を使って Firebase 機能を拡張し、相互に接続することで、Firebase はさらに強力になり、デベロッパーはサーバーのことを考えずに一層アプリに集中できるようになります。
Cloud Functions は、モバイルアプリの構築に役立つ柔軟なツールです。今回リリースされたこの機能では多くのタスクを実装することができます。そのうちいくつかを紹介しましょう。
Firebase Analytics と組み合わせると、特定のコンバージョン イベントが発生した際に、コードを呼び出すことができます。これによって、クライアントのコードをアップデートしなくても、モバイルアプリの拡大や定着に関するワークフローを自動化する機能を作成できます。
- 購入したばかりのユーザーに対して、クーポンコードを含む通知を送信する
- アプリをアップグレードしたユーザーに対して、アンケートの依頼を送信する
- 申し込みの完了直後に、新しいユーザーにようこそメールを送信する
- ユーザー アカウントが削除された際に、Realtime Database から関連するデータを削除する
- データベースにデータが書き込まれた際に、FCM を使って通知を送信する
- データベースに書き込まれたデータについて、不適切な言葉を削除して無害化する
- 新しいイメージが Cloud Storage バケットにアップロードされた際に、イメージのサイズ変更や変換を行う
- Cloud Vision API を使って Cloud Storage にアップロードされた不適切なイメージを無害化する
- Slack チャンネルに GitHub へのコミットを投稿する
- Stripe を使ってアプリ内課金の処理を行う
「Cloud Functions for Firebase のアーリーテストを行いましたが、あまりに簡単に Realtime Database からデータをエクスポートして別のサービスと連携させることができるので、驚きました」
- Sony のマスター アーキテクト、Erling Mårtensson 氏
Firebase SDK とツール
Google Cloud Functionsを土台として作られている Cloud Functions for Firebase は、Firebase デベロッパーに最大級の満足度を提供します。Cloud Functions は、安全なマネージド Node.js 環境で実行される単一目的の JavaScript 関数です。Firebase SDK for Cloud Functions では、イベントソース(Firebase Realtime Database での特定の場所への書き込みなど)を選択し、それに一致したイベントが発生するたびに実行される関数を実装できる API が提供されています。SDK では、コード補完と初期段階での構文エラーの検出に対応した TypeScript も使うことができます。
- 価格設定 Cloud Functions は、無料枠も含めたすべての Firebase の料金プランで利用できます。無料枠を使って、他の Firebase 製品との統合を簡単に試していただくことができます。Blaze プランでは、従量制の課金となります。Blaze プランのお客様には、月単位での Cloud Functions の無料枠も設定されています。
「Cloud Functions for Firebase では、アプリが成長してもスケーリングについて心配することなく、バックエンドのメンテナンスやアップグレードにもさほど費用がかかりません。そのおかげで、(今のところ)私しか社員がいない会社を作ることができました。これはもう奇跡のようなものです」
- Wuu創立者/CEO、Paul Budnitz 氏
今すぐ Cloud Function を作成してデプロイしてみる
Cloud Function を使ってみるのは簡単です。初めての Cloud Function の設定については、コードラボで手順をご覧ください。詳細については、完全なドキュメントをご覧いただくこともできます。
Posted by Khanh LeViet - Developer Relations Team