surga Lab

開発したい!!

Firebase

Flutter Firestoreで複数ドキュメントに渡るTransactionを張る方法

Firestoreのトランザクションを複数のドキュメントに張る方法です。 1つのドキュメントを読み取り、その後同じドキュメントで書くような場合は単純です。(例えばインクリメント) トランザクション内でgetした後にupdateもしくはsetすればいいだけですね。 fi…

Flutter AndroidとiOSでFirestoreトランザクションの挙動が異なる

FlutterでFirestoreトランザクションを試していた時にハマった話です。 現象 AndroidとiOSでFirestoreトランザクションの挙動が異なる Android : トランザクションに失敗しているのに成功として処理される Android : トランザクション中でthrowするとエラー…

Flutter Firestoreで分散カウンタを実装する

分散カウンタを簡単なカウントアップアプリで試してみます。 分散カウンタ 多くのアプリでは、いいね数やフォロワー数のためにカウントアップが必要です。 しかしFirestoreでは、制限上1つのドキュメントにつき1秒に1回しか更新することができません。 そこ…

Flutter Firestoreのサンプルを動かしてみる

FlutterでFirestoreを扱ってみます。 Firebaseの導入 まずはFlutterのプロジェクトにFirebaseを対応させます。 対応手順はこれ以上ないくらい公式に記載されていますので、割愛します。 ステップ4まで進めましょう。 firebase.google.com Firestoreの導入 pu…

Flutter cloud_firestoreプラグインを入れると64kエラーになる時の解決策

cloud_firestoreを試そうとサンプルを実行していたところ、以下の問題にぶつかりました。 現象 cloud_firestoreプラグイン導入後、ビルドが通りませんでした。 環境 Flutter/Android firebase_core: ^0.4.0 cloud_firestore: ^0.12.5+2 エラーメッセージ D8:…

Cloud Firestoreでミニブログの構成を考える

NoSQLであるFirestoreでミニブログを作るときの構成を考えます。 Firestoreの組み方を勉強中ですので、自分の整理のためにも書いています。 ミニブログを考える 例として、ツイッターのようなつぶやきサービスについて考えます。 仕様 こんな感じでしょうか…