【Android】Kotlinと一緒に歩むAndroidアプリ開発【Firebase・Cloud Firestoreの検討】

はじめに

こんにちは、がんがんです。
2020年ももう2月に突入しました。とても早いものです。最近はAndroidアプリの学習を中心にやっております。
Androidのプロジェクトを進めていく中でFirebaseの使用を検討する必要が出てきました。そこで、まずはFirebaseの使用感を実験してみようと思いました。

今回はAndroidにおけるCloud Firestoreの学習を行った際の備忘録を残しておきます。
Codelabを中心に実験を行っていき、分からないところを中心にまとめておきます。

Androidに関する記事は下記を参照ください。
【Android】Kotlinと一緒に歩むAndroidアプリ開発【初めまして】 - ganganの技術備忘録
【Android】Kotlinと一緒に歩むAndroidアプリ開発【初めてのユーザーインターフェース追加】 - ganganの技術備忘録

目的

  • Firebaseを触ってみる
  • Cloud Firestoreを使ってみる

公式ドキュメント

FirebaseはGoogleが提供していることもあり、ドキュメントがかなりしっかりとされております。
firebase.google.com

また、Codelabでexampleも用意されているので非常に始めやすいですね。基本的に英語で書いてますが、翻訳なども使いながらいい感じに理解して慣れていきます。
codelabs.developers.google.com

STEP1 Firebase Projectのセットアップを行う

まずはCodelabを参照しながらFirebaseプロジェクトのセットアップを行います。プロジェクトの登録画面は以下のようになっています。画面の設定に従って名前などを入力します。

f:id:gangannikki:20200204050333j:plain
プロジェクト登録画面

入力完了後、しばらく待っているとプロジェクト生成が完了します。

STEP2 Firebaseのセットアップを行う

プロジェクトが生成された後は下記のような画面になっていると思います。
f:id:gangannikki:20200204050547j:plain

サンプルプロジェクトをcloneし、先ほど作成したプロジェクトと結び付けていきます。
まず先ほどの画面よりドロイド君を選択していきます。ドロイド君を選択し、非常に分かりやすいUIに沿ってセットアップを行います。

f:id:gangannikki:20200204050902j:plainf:id:gangannikki:20200204050928j:plain
Androidプロジェクトの登録画面

ここまでUIがしっかりしていることもあり、手順の通りに進みました。STEPが進むごとに変化していくにWebのデザインもとても面白かったです。

STEP3 Configure Firebase

個人的に戸惑ったのはこの部分です。

In the Sign-in Providers tab of the Firebase console, enable Email Authentication:

Cloud Firestoreのところにも特になく、Firebaseプロジェクトのどこかな?と割と探しました。
結果的にはAuthenticationログイン方法からたどり着くことが出来ました。少しドキュメントが変更になっていたのかな?
f:id:gangannikki:20200204051330j:plain

STEP4 Cloud Firestoreのセットアップを行う

下記の公式ドキュメントを参考にFirestoreのセットアップを行います。
firebase.google.com

Cloud Firestoreのセットアップ後Rebuildを行います。すると、下記のような画面が表示されていれば問題ありません。

f:id:gangannikki:20200204051551j:plainf:id:gangannikki:20200204051548j:plain
メール認証画面→認証成功後のホーム画面


ここまでくれば接続としては問題なくできていることが確認出来ました。ドキュメントの残りに合わせてコードを追加していきましょう。
コードの追加部分はCodelabの文章通りに追加していくと期待している動作に近づいていきます。

おわりに

今回はAndroidにおけるFirebaseCloud Firestoreの検証ということでCodelabを参考にしながら実験を行っていきました。
私が想像していたよりも簡単に接続できるんだなという印象でした。

次回はCloudFunctions for FirebaseHello Worldを行っていきます。最終的にはAndroidCloud Functions for Firebaseの接続実験を行っていきたいです。