A/B Testing, Analytics, App Distribution, App Indexing, Authentication (except Phone Auth) Cloud Messaging (FCM), Crashlytics, Dynamic Links, In-App Messaging, Performance Monitoring, Predictions, and Remote Config. モバイルアプリケーションをいち早くリリースするには、バックエンドで動くサービスの構築がネックになります。 DB サーバを用意したり、 DB にアクセスするための API サーバの構築や認証など、どうしても作業が多くなってしまい、コストもかかってしまいます。 デフォルトはこのプランになっている。 まず、プラットホームが Android 、 iOS を対象としたモバイル向けのゲームアプリケーションを開発することになったとします。そして、ゲームにはチャット機能、お知らせ機能、 SNS アカウントによるログインを想定しています。このような場合は、チャット機能に FireStore 、お知らせ機能に FCM 、 SNS アカウントのログインに Firebase Authentication が使え、バックエンドサービスを構築する必要がありません。 1 gb(無料ストレージ)+(5.75 * $0.18)= $1.04/月 1 Firestore では、1 か月につき 10 GB の下りネットワーク料金が無料です。 2 DAU はアプリの総インストール数の 10% と仮定しているので、この数はアプリをインストールしたユーザーの総数を表します。 2 DAU はアプリの総インストール数の 10% と仮定しているので、この数はアプリをインストールしたユーザーの総数を表します。, 1 DAU はアプリの総インストール数の 10% と仮定しているので、この数はアプリをインストールしたユーザーの総数を表します。, Cloud Firestore 課金モデルが検討に値するのは、使用した分だけ支払うという利点があるためです。つまり、料金は DAU の数に比例して増減する可能性があります。, アプリのデータを保存するストレージ費用を計算するため、ドキュメント サイズについて次の前提条件があるとします。, *このサイズ計算にはメッセージ フィールドのインデックスが含まれますが、メッセージ コンテンツのインデックス作成は無効に設定されていると仮定します。, また、ストレージ費用を抑えるために、アプリでは作成後 3 か月までのメッセージのみを保存するものとします。, サンプルアプリのこの 3 つの一般的なユーザータスクについて、Cloud Firestore での総オペレーション数の見積もりは次のとおりです。, 各ユーザータスクについて、アプリのオペレーション、ストレージ、ネットワークの費用の詳細な説明と内訳を見ていきましょう。, アプリのホーム画面には最新の 25 件のチャットが読み込まれ、25 回のドキュメント読み取りが発生します。アクティブ ユーザーが 1 日に 5 回アプリを開くとすると、1 日に 1 ユーザーあたり合計 125 回の読み取りが発生します。ただし、次の例のような効率的なクエリを使用すると、この読み込み回数を減らすことができます。, 次の例では、アプリによって保存される、成功したフェッチごとのタイムスタンプを使用して、新しいチャットにのみクエリを実行します。, ユーザーがアプリをチェックするたびに、平均 10 件の更新されたチャットがあるとします。このクエリでは、ドキュメントの読み取りは 10 回しか発生しません。, ユーザーはホーム画面でチャットのスレッドをクリックして最近のメッセージを表示します。初回読み込みで最新の 50 件のメッセージが読み込まれます。, 一般的なユーザーが 1 日に 5 回(ホーム画面を開くたびに 1 回)この操作を行うとすると、1 日に 1 ユーザーあたり合計 250 回の読み取りが発生します。ここでも、前回のフェッチ以降の新しいメッセージにのみクエリを実行できます。, 1 人のユーザーがすべてのチャットで 1 日に約 30 件のメッセージを受け取るとします。クエリでフェッチする対象を新しいメッセージのみに限定したので、1 日に 30 件のメッセージのみを取得することになります。, ユーザーはチャットに参加すると、他の参加者にメッセージを送信できます。アクティブ ユーザーが 1 日に約 10 件のメッセージを送信するとします。, 送信されるメッセージごとに、2 つのドキュメント書き込みが発生します。1 つはチャットの messages サブコレクションへの書き込みです。もう 1 つは、lastUpdated タイムスタンプとその他のメタデータを更新するための、チャットの親ドキュメントへの書き込みです。, このようなメッセージの読み取り費用は他の箇所で説明しているので、以下の合計では書き込み費用のみを取り上げます。, Cloud Firestore のオペレーション、ストレージ、ネットワーク帯域幅の使用はすべて課金対象と見なされますが、さまざまな追加料金なしのメリットを利用できます。Cloud Firestore を他のデータベースの選択肢と比較する際は、以下の無料サービスを考慮してください。. , 2020 All Rights Reserved. Realtime Databaseより若干可用性が高いらしい。, 【Firebase】Realtime DatabaseとCloud Firestoreの料金体系などを調べた, https://firebase.google.com/pricing?hl=ja, https://firebase.google.com/docs/database/usage/billing?hl=ja, https://firebase.google.com/support/faq/?hl=ja#pricing-simultaneous, https://firebase.google.com/docs/firestore/pricing?hl=ja, https://firebase.google.com/docs/firestore/quotas?hl=ja, https://techblog.kayac.com/rtdb-vs-firestore, Firebase Realtime DatabaseとFirestoreを使い分けていこうなという話. 【第5回】 Firebase Authentication を使ってアプリケーションに認証機能を追加しよう【はじめてみよう Firebase】 【第4回】 Firebase Hosting でスタティックな Web ページをデプロイしよう!【はじめてみよう Firebase】 【第3回】サンプルアプリケーションを動かそう! サービスの早期リリースという要件が求められたときに、サーバレスアーキテクチャが注目され、 BaaS というクラウドサービスの形態が登場しました。サーバサイドの開発費を抑え、かつ工数もかからない。サービスの利用者が増えてもサーバの増築を意識しなくて良いなどの利点から、 Web サービスほどサーバを必要としないモバイル向けのサービスの BaaS に注目され、様々な BaaS が登場しました。 毎月最初の 1 万回分は、どちらのケース(米国、カナダ、インド、およびその他の国)でも無料で認証でき、この無料割り当て分を超過した使用量のみが課金されます。 その他すべての Firebase Auth 機能は、すべてのプランで無料でご利用いただけます。 同じようにとりあえずの情報を求めている人の助けになれば。, そもそもFirebaseにはいくつかのプランがある。ここでとりあげるのは無料で使えるプランと法人利用のプラン。 Firebase もその中の一つです。 Firebase はもともとは Google とは独立したサービスでしたが、2014年に Google に買収され、 GCP の仲間入りをしました。現在は GCP の様々なサービスと連携して使うことができるようになっています。, BaaS には、独自のビジネスロジックを組み込むことはできません。そのため、多くの BaaS には、データベース機能以外にも、 SNS 連携や Android 、 iOS の SDK などが提供されています。煩わしい認証は SDK が BaaS と連携してくれて、クライアントは数行のコードを書くだけで実現することができます。もちろん Firebase にもこういった機能がサポートされており、 Firebase では以下のような機能が提供されています。, Firebase に元から含まれているオブジェクト型のデータベースです。リアルタイムでクライアント全体の状態を同期させることができ、オフラインで動作するときはデータをキャッシュしてオンラインになった時に自動的にデータを同期します。, Realtime Database の性能をさらに向上させた、新しい主力のデータベースです。 Realtime Database より高速でスケールアウトにも対応しています。こちらもオブジェクト型のデータベースとなっています。現在ベータ版となっていますが、 Google は Realtime Database より Cloud Firestore を推奨しているため、今後は Realtime Database に取って代わるデータベースになるように思われます。, 写真や動画などバイナリーデータを保存します。保存先は Cloud Storage となっており、 Firebase と Google Cloud の両方からアクセスできます。また、スケールアウト機能も兼ね備えており、急激なアプリケーションの拡大にも対応しています。, Firebase Authentication は、 Google のフェデレーション認証で、 Google 以外にも Facebook 、 GitHub 、 Twitter などのサードパーティの認証情報を使用して、クライアントアプリケーションのログインを行うことができます。また、フェデレーション ID 以外にもパスワード認証や電話番号認証にも対応しています。, Firebase Cloud Messaging を使うことで、様々なプラットホームで動いているアプリケーションに対してメッセージを送ることができます。今までは Google Cloud Message を使ってサーバからのプッシュ通知を行っていましたが、これからは、Firebase Cloud Messaging を使うことが推奨されています。, Cloud Functions for Firebase を使うことで、イベントドリブンなアプリケーションを作成することができます。 SMS メッセージの送信などの処理のような外部サービス連携などを行うことが可能になります。また、クライアントアプリケーションに実装させるには重たすぎるような処理を Cloud Functions for Firebase に委ねることができます。, Firebase Hosting はスタティックな Web ページを公開することができます。近年では HTML 、 CSS 、 Javascript を組み合わせてアプリケーションのような Web ページを実現することができるようになりました。こういった Web ページも Firebase Hosting を使って公開することもできます。