Firebaseで最終ログイン日時を取得してFirestoreに保存する
Firebase Authenticationのユーザーメタデータから最終ログイン日時を取得し、FirestoreにTimestamp型として保存する方法を解説。JavaScriptコード例と重要なポイント(lastSignInTime, Timestamp())を紹介します。
Firebase Authenticationのユーザー情報には最終ログイン日時が保存されています。
ここでは、その最終ログイン日時を取得して、Firestoreに保存するコードを紹介します。
まず今回の動作をおこなうのに重要なポイントを挙げておきます。
ポイント
- 最終ログイン日時はuser.metadata.lastSignInTimeから取得すること
- Firestoreに日時を格納するためには**Timestamp()**を利用すること(詳細はドキュメント)
コード
Firebaseを初期化する
まずFirebaseを初期化します。ただ多くのプロジェクトではロード時に初期化済みかと思うので省略可です。
最終ログイン日時を取得する
Firebase Authenticationから最終ログイン日時を取得します。
取得した日時をFirestoreに保存する
最後に、先ほど取得した日時をFirestoreにタイムスタンプとして保存します。
"document_id" は適宜変更してください。
以上の流れで、最終ログイン日時を取得してFirestoreに保存できます。
Firebase AuthでログインしているのにgetCurrentUser関数がnullを返してしまう時の解決法
Firebase Authenticationでログイン済みなのにgetCurrentUser()がnullを返す問題を解決!Authオブジェクトの初期化タイミングとonAuthStateChangedの正しい使い方を解説。よくある落とし穴とその回避方法を詳しく説明します。
FirestoreのCRUD操作のJavaScriptコード
FirestoreのCRUD操作のJavaScriptコードを紹介。setDoc()、addDoc()、getDoc()、updateDoc()、deleteDoc()の使い方を解説。