FireBaseの曖昧な点を確認してみた。

はじめに

FireBaseはGoogleが運営するサービスで、リアルタイムデータベースなどいろいろ使えて便利なようです。

基本無料ですが、容量制限などがあります。
有料にすれば、その制限を増やせたり、無制限にすることが可能です。

でも、アプリで使ってみようと思うと、ちょっと不安な点もあります。

例えば、

  • ゲームのユーザ情報をFireBaseのデータベースに保存していたけども、容量制限オーバーしたら、どうなるのか?
  • SPARKプランとかFRAMEプランって、アプリ単位?プロジェクト単位?

といろいろあります。

ここら辺の情報を質問してみました。
ちなみに、簡単なのは日本語の返信がありましたが、突っ込んだ質問になると、英語で回答されましたので、誤訳などがあっても、責任とりませんよ!

ヒアリング結果

Q1. アカウント毎に複数のプロジェクトに紐付け可能ですが、上限を教えてください。
A1. 制限はありますが、アカウントに依存します。

具体的な数字は濫用の可能性があるため、開示できません。
プロジェクトの上限を増やすことも可能です。
また、新しいプロジェクトを作るために別のアカウントを使用することも可能です。

→上限をあまり気にせず使って良さそうですね。

Q2. プロジェクトに追加できるアプリケーション数に上限はありますか?
A2. ほとんど制限ありません。

→ほとんどってことは上限ありそうですが、具体的な数字は出て来ない気がしたので、とりあえず、納得することにしました。

Q3 リアルタイムデータベースのSparkまたはFlameプランストレージまたはダウンロード制限を超えるとどうなりますか?
A3 アプリの電源はオフになります。

予測可能な価格を提供するために、
SparkおよびFireBaseプランで利用可能なリソースに上限があります。
つまり、任意の月にプランの制限を超えた場合、
リソースの使用量や追加料金が発生しないように、アプリの電源はオフになります。

→自動的に有料プランにはならないようです。当たり前っちゃ当たり前ですが、具体的な記載がなかったので、これで安心。
ちなみにこの質問は、FireBaseのFAQの内容(英語)です。

Q4 「アプリの電源をオフ」の対象はプロジェクト内全てのアプリケーションでしょうか?それとも上限に達したサービスを利用しているアプリケーションを停止するのでしょうか?
A4 制限を超えたプロジェクトのすべてのアプリケーションは接続できません。

→ 1プロジェクトに複数のアプリを登録するのはなかなかリスクがありそうですね。
でも、アプリ単位に上限を設けれれば、いけるかもということで次の質問です。

Q5 SparkプランあるいはFrameプランで 1プロジェクトに複数のアプリケーションを登録した場合、アプリケーション単位で上限を定めることは可能でしょうか?
A5 これは現在不可能です。

ここでできることは、アプリケーションを別のプロジェクトに分けて、
制限を超えないようにすることです。

→ 1アプリごとに上限を設けることができれば、1プロジェクトで複数アプリの運用など可能と思い質問してみたのですが、なかなか厳しいようです。

Q6 1つのProjectAにアプリA, アプリB, アプリCを登録していて、途中でアプリBをProjectBに移したいとなった場合、それは出来るのか。
A6 プロジェクト間の移動はできません。

→ 素直に1アプリ、1プロジェクトが制限や料金的には安心なのかもしれませんね。

Q7 とあるアプリが攻撃を受けてしまってアプリのFirebaseへの接続を止めたい場合は、Firebase上から出来るのか
A7 現在のところ、コンソールからFirebase SDKを無効にする方法はありません。

→ 従量制のBlazeプランの場合は、特に注意しないととんでもない請求がくるかもしれませんね。

以上が質問をした結果です。

ちなみに、トラブルシューティングへの質問は5回までですが、1質問1回というわけではなく、1回に複数の質問を行なってもよいですし、最初の質問と無関係でなければ追加質問も可能だそうですので、不明点がある方は気軽に質問してみては如何でしょうか?

また、規約とか変わっている可能性もありますので、有料プラン移行時は自分で確認とってからの方がいいと思います。