Firebaseとは何か
Firebase(ファイアベース)は、Google社(旧Firebase社)製のサービスです。バックエンドの大半をFirebaseに任せることにより、アプリ開発者の工数を大幅削減できる、いわゆるmBaaS(mobile backend as a Service)で、大変便利なサービスです。
何ができるかを簡易にまとめると
Firebaseは、とても多機能なサービスです。AWSとまではいきませんが、その名称の中にたくさんの機能を包括しています。
あえてどのようなツールかをなるべく簡潔にまとめると、
- Android、iOS、ウェブ、C++プロジェクト、Unityという幅広いプラットフォームで
- サーバーレスでアプリケーションを動かす形でのバックエンドの構築が行え
- 例えばユーザー認証機能やPush機能構築(多数ある機能の一部です!)のための工数を軽減し
- 安全にリリース・運用するための、アプリのクラッシュの記録や挙動のモニタリングを行え
- リリース後のPush通知運用、A/Bテストや、課金やアクションなどのユーザー動向の記録・確認を行える
といった形で、各機能を適切に利用することにより開発初期からリリース後に至るまで、開発者に楽をさせてくれるサービスです。
なるべく簡潔にまとめましたが、多機能すぎて上記にまとめきれない内容が多くあります。
本記事ではこのFirebaseを利用して開発するメリットや、実際に開発する際の組み込み、Webとアプリをまたいだ形でのGoogle Analytics 4(GA4)の利用についてなど、実案件での活用を交えてお送りできればと考えています。
Firebaseの魅力
多機能なFirebaseですが、正直実装についての難易度や設定の難易度についてはそこまで難しいものではありません。基本的にはSDKを組み込み、利用したい各機能について適切に設定・実装を行っていく形となります。
この項では、コスト面と機能面から、Firebaseを採用するおすすめのシーンをご紹介します。
無料で高機能なアプリが短期間で開発できる
Firebaseを利用するには、まずFirebaseのコンソールを開き、構築・組み込みを行うためのアプリケーション専用の「プロジェクト」を作成します。このタイミングで料金プランが適用されますが、この登録直後は通常、無料のSparkプランが適用されます。
各機能で定められた無料枠を超えるか、一部Sparkプランでは提供されていない機能を利用しない限り、無料の範囲内で利用、開発することができます。
そのため、
- コストをなるべく気にせず小規模かつ短期間でアプリケーション開発を行いたい場合
- 開発初期には有償ツールや高価なツールを導入しづらいが、代替となる機能を利用したい場合
において、上記の様にFirebaseが無料から利用できることは、大きな強みとなるでしょう。
ただし前述したとおり、一部機能の「Cloud Functions」などは従量課金が始まるBlazeプランのみでの提供になる等、Sparkプランでは提供されない機能があるため、事前に利用したい機能が利用できるかを確認してください。
他にも採用に至るシーンを挙げてみましょう。本記事をお読みいただいているエンジニアのみなさんには、以下のような機会があるかと思います。
- プライベートでアプリケーション開発を行う
- 自社でのアプリケーション開発において、プロトタイプ構築を行う
- 自社内ツールを作成する
これらのシーンにおいても、Sparkプランを利用して、迅速にバックエンドを構築して開発に着手することは、十分採用する理由になるでしょう。
例えば、手早く認証付きのアプリケーションをプロトタイピングしたい場合には、Firebase Authenticationを利用することで、FacebookやTwitterといった各種SNSサービスアカウントを利用した認証フローを構築することができます。さらに、ユーザー同士のリアルタイム性の高いチャットを構築するような場合には、Realtime Databaseを利用することにより、DBを手早く用意して実装を進めることができます。
これらは無料のSparkプランで利用することができ、開発段階において大規模なテストや多数のアクセスを行わない限りは無料の範囲内での構築を進めることができるでしょう。
筆者が所属するブリューアスでは、SlackやGoogle Meetに連動して動作する自社内でのコミュニケーションを促すためのツールを、Firebaseを利用して社員が複数構築しており、まさに「スピードが重要な小規模プロジェクト」において活用しています。
しかし、従量課金発生時には相応のコストが必要になる
ここまでコスト面について、無料で導入を開始できる旨を説明し、利用シーンを挙げました。しかし、法人で多数のユーザーに対してサービスを展開する場合には、もちろんそれに応じたコストがかかります。
法人でサービスを構築・リリースする場合には、利用する機能を選別し、開発初期に運用費用の概算を見積もり、計算して、予算を踏まえておくのが良いでしょう。その際には、Firebaseの公式ウェブサイトにある「Blazeプランの料金計算ツール」を利用しましょう。