Firebaseの様々な機能
チュートリアルの延長線でFirebaseを使うことが多いですが、
Authentication,Cloud Firestore, Cloud Storageぐらいしか使ったことがありません。
Firebaseに他にどんな機能があるのか気になり、その他の機能についても調べてみました。
「もっとこんな便利な使い方があるよ」「それならこっちのサービス使ったほうがいい」などあればコメントで教えてください!
Authentication
Authenticationは、新規ユーザー登録やログインのような認証システムを簡単に実装できる機能です。
認証方法には、一般的なメールアドレスとパスワードで認証する方法から、
Twitter, Google, Facebook, GitHubなどのアカウント認証があります。
また、カスタム認証システムも提供されており、それを利用することで他のSNSアカウント認証を作ることもできます。
Cloud Firestore
Cloud FirestoreモバイルアプリやWebアプリのデータを保存したり、持ってきたりすることが簡単にできるNoSQLデータベースです。
メンテナンスなしで、容易にスケールできるサーバーレスのドキュメントデータベースのため、
初めてデータベースを使うモバイルアプリを作るときに使うことが多いと思います。
初心者向けのチュートリアルを見ていると、だいたいはFirebaseを使っています(かなり主観)。
Realtime Database
Realtime Databaseは、クラウドホスト型のNoSQLデータベースで、JSON形式で保存されます。
正直、 Cloud Firestoreがあると、Realtime Databaseを使う必要があるのかわかりません。
コメント欄で、あえてRealtime Databaseを使う理由があれば初心者にもわかるように教えてほしいです。
Cloud Storage
Cloud Storageは、ユーザーが作成した写真や動画をアップロードやダウンロードできる機能です。
アップロードした写真や動画などはバイナリーデータなどで保存されます。
Cloud Storage、オートスケールに対応しているため、コンテンツの参照が増えた場合に、手動でスケールする必要はありません。
Analytics
Analytics、アプリでのユーザーの行動を分析できる機能です。
年齢、性別、端末などの属性別のユーザー分析、Googleアナリティクスでも実装されているコホート分析
プッシュ通知の分析、広告やイベントのアトリビュート分析などが簡単にできるように提供されています。
Crashlytics
Crashlyticsは、アプリがクラッシュしたときに検知してくれたり、その原因を調査する手助けをしてくれたりする機能です。
クラッシュの原因や事前の出来事だけではなく、クラッシュの優先順位を把握できます。
また、リアルタイムアラートを設定しておくと、クラッシュをすぐに検知でき、見逃さないようにできます。
クラッシュレポートは解析画面で見れるため、Analyticsの一部かなと思います。
Hosting
Hostingは、シングルページのWebアプリやモバイルアプリのランディングページを簡単にデプロイできる機能です。
サーバーの構築や、レンタルサーバーの契約などが必要なく、シンプルなWebページであれば簡単にデプロイできます。
個人的には、GitHub Pagesの方が使うんだろうなと思います。
Cloud Messaging
Cloud Messagingは、アプリでメッセージや通知を送受信できる機能です。
Cloud Messagingを使うと、特定のセグメントに対して、メッセージを送るようなことができます。
また、メッセージをタイムゾーン別にスケジュール配信することもできます。