FirebaseはスマホやWebアプリのバックエンドとして非常に優秀で、認証や通知、分析にストレージ・DBなど幅広い用途で使用することができます。 ReactNativeアプリでもライブラリであるreact-native-firebaseが提供されているため比較的簡単に組み込むことができます。 今回はそのセットアップ手順をご紹介します。
react-native@0.63.3
Firebase
プロジェクトは作成済み以下に公式サイトがあります。
現在はv6
系が最新となります。
react-native-firebase
にはいくつも機能があるため、ライブラリが分かれています。
基本となるのは@react-native-firebase/app
で、これはいかなる機能を使う場合もインストールする必要があります。
yarn add @react-native-firebase/app
iOS
で利用する場合はpod install
を行います。
cd ios && pod install
既にFirebase
側でプロジェクトは作成済みだと思いますので、【プロジェクトの概要】のアプリの追加からandroid
とios
アプリを作成しましょう。
その過程で、google-service.json
とGoogleService-Info.plist
という2種類のファイルをダウンロードしたと思います。
それぞれgoogle-service.json
はandroid/app
の直下、GoogleService-Info.plist
はXCode
から/ios/{プロジェクト名}.xcworkspace
の直下へ追加しましょう。
これで準備は完了です。
以下にreact-native-firebase
で利用できる機能を紹介します。
アプリ内広告に関する機能です。 広告の表示位置等を調整できます。
アプリログ解析に関する機能です。
本家GoogleAnalytics
のように各画面の表示回数や操作傾向などを、ログを埋め込むことで解析できます。
認証に関する機能です。
一般的なメールアドレス登録や、Google
等の外部サイトのOAuth
認証を行うことができます。
NoSQL
のクラウドデータベース機能です。
ユーザー情報や、アプリで使用するデータの格納等で使用します。
サーバーレスで実行できる関数です。 アプリ側から事前に定義した処理を呼び出すことができます。
いわゆるプッシュ通知
の機能です。
クラウドストレージ機能です。 例えば、プロフィール画像等を格納することができます。
クラッシュレポート機能です。 どういった操作でクラッシュしたかの追跡等に便利です。
特定のURL
が実行された場合、アプリを呼び出す機能です。
Web
サービスを既に持っており、アプリがインストールされている場合のみアプリで表示させたい場合などに便利です。
特定の条件下でポップアップやバナーを表示させる機能です。 期間限定のキャンペーン通知などを、アプリに変更を加えることなく表示できます。
デバイスを一意に紐づけるインスタンスIDの機能です。 他の様々な機能のベースとして使われることが多いです。
テキスト認識(OCR
)や翻訳、顔識別など機能です。
カメラやマイク機能と組み合わせて使用します。
画像認識に関する機能です。
上記のML Kit Natural Language
同様、カメラ機能や写真機能と組み合わせて使用します。
アプリのパフォーマンス解析機能です。 起動時間やリクエスト、パフォーマンスが悪い箇所の解析に使用します。
クラウドデータベースです。
今後は、先のCloud Firestore
を推していくようです。
アプリの設定機能です。
今までアプリにconfig
として組み込んでいたデータをクラウドにおく事で、アプリの更新をすることなく変更を加えることができます。
今回はreact-native-firebase
のセットアップと、利用できる機能一覧についてご紹介しました。
個別の機能についてはボリュームも大きいため、別記事に起こしていく予定です。
Firebase
はサーバサイドに欲しい機能のほとんどをカバーしているため、フロントはReactNative
でサーバーサイドはFirebase
だけで済んでしまうことも多いです。
そのため今後利用機会が多くなることが予想されるので、その際の導入の手引きになれば幸いです。