Firebaseとは?
Firebaseはデータストレージ、ユーザー管理などアプリケーションのバックエンドとして必要となる機能をサービスを提供することで、アプリケーション開発者がクライアントサイドの開発に集中できるようにしてくれるBaaS(Backend as a Service)の一種です。
Firebaseで出来ること
リアルタイムデータベース(Realtime Database)
Realtime Databaseは、ユーザー間でやりとりされるデータをリアルタイムで保存・同期することが出来る仕組みです。これにより、ユーザーは端末の垣根を越えて、簡単にデータへのアクセスが可能になり、常に最新データの取得が可能になります。加えて、リアルタイムデータベースはオフライン時のデータ更新にも対応しており、ローカルデータはクラウド上に保存され、次のネットワーク接続時に自動反映させる仕組みを簡単に提供可能です。
Google Developersの解説:Realtime Database をご存知ですか
Realtime Databaseを利用した参考事例: 今Googleで最も熱いサービスFirebaseで、リアルタイムWebアプリをサクッと作ってみたSwiftとFirebaseでiOS向けリアルタイムチャットサービスを作る簡単なリアルタイムチャットアプリを作成する
クラウドメッセージ送信(Cloud Message)
Firebase Cloud Messageは、様々なプラットフォーム上のアプリに無料でメッセージを送信することができる仕組みです。このクラウドメッセージはセグメント別の送信に対応しています。1日に数千億件ものメッセージを様々なプラットフォームの端末に即座に配信することができます。
Google Developersの解説:Firebase Cloud Messaging のご紹介
Cloud Messageを利用した参考事例: Google I/O 2016 で「Firebase」の新バージョンが発表!プッシュ通知機能を iOS アプリで使ってみた
認証(Authentication)
Firebese Authenticationでは、ユーザーログイン時の認証システムを簡単に実装できる仕組みを提供しています。この仕組みを利用すれば、Facebook、Google、Twitter、Github等を使ったソーシャルログインや独自構築のログインシステムとの連携が簡単になります。
Google Developersの解説:Firebase Authentication のご紹介
Authenticationを利用した参考事例: Firebaseの認証機能
アプリのアクセス解析(Analytics)
Firebase Analyticsは、Google Analyticsでは実現できていなかった、あるいは不足していた解析機能を備えたアプリ特化版のGoogle Analyticsです。Analyticsの機能はFirebase SDKをインストールするだけで利用することができます。
Google Developersの解説: Firebase Analyticsのご紹介
アップ・インデクシング(App Indexing)
Firebase App Indexingは、インストールされたアプリをGoogle検索とシームレスに連携して、ユーザーのリピート率を向上させることができます。App Indexingの仕組みは既に知られているものですが、Firebase App Indexing SDKを活用すれば、App Indexingへの対応が簡単に行えます。
Google Developersの解説:Firebase App Indexingのご紹介
Push通知(Notifications)
Firebase Notificationsは、AndroidやiOSの端末に対して無料で通知を送るサービスで、Firebaseコンソール上からあらゆるプラットフォームに素早く通知を送ることができる仕組みです。サーバー側でのコーディングは不要、通知は独自定義のセグメントで配信することができます。
Google Developersの解説: Firebase Notificationsのご紹介
リモートでの変更(Remote Config)
Firebase Remote Configはアプリのアップデートを行わずともアプリを更新できる機能です。アプリの更新もセグメント毎に行うことができ、例えば、国ごとに異なるデータを配信したり、iOSやAndroid等の端末別の配信を行うことが可能です。そのほか、Remote Configの条件を利用すると、A/B テストや新機能の段階的ロールアウトも実施することができます。
Google Developersの解説: Firebase Remote Configのご紹介
ダイナミックリンク(Dynamic Links)
Firebase Dynamic Linksは単一のリンクで、モバイルアプリ内の特定の場所に遷移することができるディープリンキングを実現する仕組みです。ディープリンクは既知の技術ではありますが、同じリンクでiOSとAndroidアプリの両方にリダイレクトすることは容易ではありませんでした。加えて、ユーザーがアプリストアからアプリのインストールを必要とする場合は、元々のリンクのコンテクストは失われてしまい、特定の遷移先ではなく、通常のホーム画面が表示されてしまう等の問題を持ち合わせていました。この2つの問題を解決するための仕組みがFirebase Dynamic Linksです。
Google Developersの解説: Firebase Dynamic Linksの紹介
テストラボ(Test Lab for Android)
Firebase Test Lab for Androidでは、仮想環境でさまざまな端末でのアプリの挙動を自動検証することができます。画面サイズやOS世代などがユーザーごとにバラつきがあるAndroid端末対応をサポートする機能です。
Google Developersの解説: Firebase Test Lab for Androidのご紹介
クラッシュレポーティング(Crash Report)
Crash Reportは、アプリのクラッシュ情報をリアルタイムで収集・把握するための機能です。これによりクラッシュした環境情報やシチュエーションを調べ、迅速なバグ修正が可能になります。
Google Developersの解説:なし
ファイルストレージ(Storage)
Firebase Storageは、ユーザーがiOSやAndroid端末から写真や画像、ビデオなどのコンテンツをアップロードするためのファイルストレージです。
Google Developersの解説:Firebase Storageの5つのヒント
ホスティングサービス (Hosting)
Firebase Hostingとは、世界中のどんなユーザーが相手でも遅延なくサービスを提供するためのホスティングサービスです。
Google Developersの解説:なし
その他、補助的に出来ること
Firebaseでは、
- AdMobを利用した簡単な広告導入と収益化の促進
- AdWord連携によるキャンペーンの最適化
等の機能も含まれています。