Help us understand the problem. What is going on with this article?

Firebaseの各機能を3行で説明する

More than 1 year has passed since last update.

Firebase は機能が多すぎてよく分からなかったので、自分の整理用に「 Firebase で何ができるか」をだいたい3行でまとめてみました。

利用可能な環境かどうかは、以下のアイコンで示しています。
… Android 利用可能
… iOS 利用可能
… Web 利用可能

[追記] 新しい機能が増えたので2018/09/26時点で整理しました。

Analytics

Google Analytics for Firebase


イベントベースでデータ収集・分析ができる。無料。
アプリの場合は Google Analytics for Firebase を、ウェブサイトの場合は Google Analytics を使うことになる。
BigQuery と統合して複雑な解析を行うこともできる。

Develop

Firebase Authentication


メールアドレスとパスワードを利用したユーザー認証だけでなく、Google / Facebook / GitHub / Twitter などのアカウントを利用した認証も簡単に実装できる。無料。
ユーザーのメールアドレス等は Authentication 側で管理し、それ以外の会員情報は Authentication から得られる一意なIDを key としてアプリケーションサーバーの Database に保持するのがよさそう。

Firebase Realtime Database


データをクラウド上の NoSQL データベースに保存し、複数のユーザー / 端末間で同期することができる。
オフライン時は端末のローカルキャッシュに保存され、オンラインになったタイミングで同期される。
料金は同時接続数・保存データ量・ダウンロードデータ量によって決まるが、無料枠もある。
※ Cloud Firestore(ベータ版)がリリースされ、現在はそっちのほうが推奨されているようです。

Cloud Firestore


Firebase Realtime Database と似た NoSQL データベース。(違いについてはこちら)2018/09/26 時点ではベータ版。
利用できるデータ型が増えたので、ベータ版であることを気にしなければこちらのほうがいいらしい。
料金は Firebase Realtime Database と若干違い、保存データ量・月間帯域量・データの読み書き量によって決まるが、無料枠もある。

Cloud Storage for Firebase


写真や動画などのコンテンツを保管、取得することができる。
格納先は Google Cloud Storage なので、mruby で動的に画像変換をしてから取得するといったことも可能。
料金は保存データ量・ダウンロードデータ量・アップロード/ダウンロード回数によって決まるが、無料枠もある。
ただし BLAZE プランでは、使用量に応じて料金が変化するので注意が必要。

Firebase Hosting


アセット(HTML、CSS、JavaScript、画像ファイルなど)をホストし、静的なサイトを提供できる。
料金は保存データ量・ダウンロードデータ量によって決まるが、無料枠もある。
HTTP/2 にも対応している。

Cloud Functions for Firebase

Firebase の機能や HTTPS リクエストをトリガーとして、コードを実行できる。AWS でいうところの Lambda 。
利用できる言語は今のところ node.js のみ。(ただ、TypeScript で記述することもできる)
料金は呼び出し回数・コンピューティング時間によって決まるが、無料枠もある。

ML Kit for Firebase


モバイル向けの機械学習機能が利用できる。2018/06/27時点ではベータ版。
よく使われそうなテキストの認識や顔の検出などの API が揃っている。
料金は API のコール数とカスタムモデルの保存・利用量によって決まるが、無料枠もある。

Stability

Firebase Crashlytics


クラッシュ時のエラーを、類似のスタックトレースのクラスタごとにグループ化し、ユーザーに与える影響の大きさで優先順位付けしたものを Firebase console から確認することができる。無料。
また JIRA と統合することでクラッシュの issue を自動で起票することが、アナリティクスと統合することでクラッシュに至るイベントの経路をトラッキングすることができる。

Firebase Performance Monitoring


アプリの起動時間やネットワークリクエストなどを自動的に測定し、パフォーマンスや改善点を Firebase console から確認することができる。無料。

Firebase Test Lab


Google のデータセンターにある端末上でアプリをテストできる。Android / iOS ともに利用可能だが、iOS は 2018/06/27 時点ではベータ版。
料金はテスト回数によって決まるが、無料枠もある。
AWSやXamarinでも類似サービスがあるが、料金や使用できるテストフレームワークが異なるので、こちらを参考に選定するとよさそう。

Firebase Crash Reporting



クラッシュ時のエラーを、類似のスタックトレースのクラスタごとにグループ化し、ユーザーに与える影響の大きさで優先順位付けしたものを Firebase console から確認することができる。Webは非対応。無料。
Android および iOS でいくつかの既知の問題があるらしく、2016/12/8の時点でベータ版となっている。

こちらは非推奨となったので、Firebase Crashlytics を代わりに使用してください。

Grow

Firebase Cloud Messaging


Google の FCM 接続サーバーへ自前のアプリケーションサーバーから XMPP または HTTP プロトコルでデータを送信することで、クライアントにプッシュ通知を送ることができる。無料。
XMPP プロトコルであれば非同期でメッセージングできる。

Firebase In-App Messaging


ユーザーがアプリを操作しているときに、登録や購入などを促すポップアップやトップバナーを表示することができる。ベータ版。(無料?)
規定のレイアウトをカスタマイズするだけなので実装は簡単だが、そのレイアウトに従う必要がある。

Firebase Predictions


Google の機械学習機能に基づき、ユーザー行動を予測・分類してくれる。2018/06/27 時点ではベータ版。無料。
Firebase Remote Config / Firebase Notifications と統合することができ、離脱しそうなユーザーに対してのみパラメータを変更したり、通知を送るといったことができる。

Firebase Remote Config


アプリのアップデートなしに、Firebase console からアプリ内のパラメータ(Key-Value 形式)を変更できる。Web は非対応。無料。
見た目を変えるパラメータに利用すれば A/B テストが実現できる。
変更の適用ルールを設定することができ、例えばユーザーの 0.05% だけパラメータを変更するといったことも可能。

Firebase A/B Testing


指標に基づいた A/B テストを行い、その統計を取れる。2018/06/27 時点ではベータ版。無料。
Firebase Remote Config のラッパーのような立ち位置で、テストの目標を立てて、それに基づいたパラメータ変更やメッセージの変更を行い、結果の統計を取るという一連の流れをまとめることができる。

Firebase Notifications


Firebase console からクライアントにプッシュ通知を送ることができる。無料。
Firebase Cloud Messaging と異なり、自前のアプリケーションサーバーは不要。
また、クライアントが所定のトピックに登録していれば、そのトピックにのみ通知を送ることができる。

Firebase App Indexing


アプリを Webブラウザ の Google 検索上に表示することができる。無料。
対応する Web サイトが必要なのと、iOS の場合 Universal Links で起動するので、iOS9 以降でなければ使えない。

Firebase Dynamic Links


例えばメールに記載された URL など、リンクをからアプリを開いた場合に、プラットフォームを意識せずにアプリの対応するコンテンツにリンクさせることができる。無料。
アプリがインストールされていない場合は、もちろんストアページに飛ばすこともできる。

Firebase Invites


アプリの共有ボタンを押したら端末の連絡先にあるユーザーに対して招待状を送信することができる。
Firebase Invites は送信、Firebase Dynamic Links は受信という関係性となる。
おすすめの方法があるので、とりあえずはそれに準拠しておくとよさそう。

まとめ

モバイルアプリで必要な機能が一通り揃っているので、積極的に使っていきたいですね。
触ったことのない機能についても書いていますので、間違っている点ありましたらご指摘お願いします :bow:

shibukk
東京で AWS と Rails をちょっとだけやっています。あと GCP も。
https://www.flickr.com/photos/158672816@N06/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした