Firebase

Firebase Cloud Firestore の関連データは Reference を使う

はじめに Firebase Cloud Firestore の関連データを扱う場合は Reference型 を使いましょう。 Reference型とは FirestoreのCollectionReference・DocumentReferenceのことで、以下のドキュメントの「Cloud Firestore の参照」のことです。 firebase.google.c…

Firebase Cloud Firestore の購読処理を RxJava / RxKotlin に変換する Extension

はじめに Firebase の Cloud Firestore の購読処理を DocumentSnapshot または QuerySnapshot をRxに変換する方法を紹介します。 使いやすいように改善 購読処理には、 addSnapshotListener() のリスナー使用します。 ポイントとしては以下の2つです。 エラ…

Cloud Firestore で プロパティ名を指定する方法

はじめに 今回はFirestoreの保存するプロパティ名を指定する方法を紹介します。 オブジェクトへの変換方法については以下の記事も参考にしてみてください。 qoopmk.hatenablog.jp 解決 @PropatyName を使用して保存されるプロパティ名を指定することができま…

Firebase Cloud Firestore + RxJava / RxKotlin のオブジェクト変換

はじめに Firebase の Cloud Firestore で DocumentSnapshot または QuerySnapshot から モデルに変換する方法を紹介します。 解決策 Firestoreが用意してくれている toObject 関数を使えば終わりです。 firebase.google.com FirebaseFirestore.getInstance(…

Firebase リスナーを RxJava / RxKotlin に変換する Extension集

今回はみんな大好きFirebaseを使用する際に、 簡単にRxに変換する方法をご紹介したいと思います。 Firebaseといえど、認証系のAuth、データベースのFirestore、ストレージのStorageなど様々な機能があります。 そのすべてのリスナーをRxで流すような実装はよ…

Cloud Firestore で ServerTimestamp が null になる問題

AndroidでCloud Firestoreを使っていて、 データをCollectionに追加する際に、ServerTimestampを使って日時を設定していました。 以下のようなコードでもFirestoreには問題なく作成日時(createdAt)は保存されます。 /** * メッセージ * * @property id メ…