🐕
【Day11】Firebase Authentication × Functions連携でUX改善を加速
【Day11】Firebase Authentication × Functions連携でUX改善を加速
こんにちは、Keisukeです。
個人開発もいよいよDay11。
今日は、Firebase AuthenticationとCloud Functionsを組み合わせた改善施策に取り組みました。
「ログインまわりの体験をどう滑らかにするか」は、ユーザーの初回利用ハードルを大きく左右します。今回はその第一歩として、ログインイベントに応じた処理の自動化を試みました。
🔐 認証と自動処理の連携とは?
Firebase Authenticationを使うと、ユーザー登録・ログインを簡単に管理できますが、それ単体では「その後の処理」は手動実装が必要です。
そこで登場するのが Cloud Functions。
たとえば…
- 新規登録時にウェルカムメール送信
- ログイン履歴をCloud Firestoreに記録
- 最終ログインから一定期間経過したユーザーへのリマインド通知
など、「イベントドリブン」で動く処理を自動化できます。
🛠 今回実装したもの
今回はまずシンプルに、新規登録時にFirestoreに初期プロフィールを自動生成する処理を実装しました。
import { onAuthUserCreate } from "firebase-functions/v2/identity";
import { getFirestore } from "firebase-admin/firestore";
import { initializeApp } from "firebase-admin/app";
initializeApp();
export const createUserProfile = onAuthUserCreate(async (event) => {
const uid = event.data.uid;
const email = event.data.email;
const db = getFirestore();
await db.collection("users").doc(uid).set({
email,
createdAt: new Date(),
displayName: "",
bio: "",
});
});
✨ なぜこれがUX改善につながるのか?
- ✅ 初回ログイン時の処理をゼロに:ユーザー側の操作が減り、即サービス利用が可能に
- ✅ 「存在しないユーザーID」エラーの防止:UIの安定性向上
- ✅ 今後の個別対応がしやすくなる:プロフィールデータの土台を整備
💡 次にやってみたいアイデア
- メール認証完了時に限定クーポン発行
- 退会時のデータ削除処理自動化
- 最終ログインから30日以上経過でリマインド通知(定期処理)
💬 最後に
Firebase Authentication × Cloud Functionsの連携は、ただの認証処理に「文脈」と「体験」を加えるための強力な手段だと実感しています。
機能は“使える”だけでなく、“使いたくなる”状態にして初めて、ユーザーの心に届く。
これからも、そんな仕組み作りを目指して進めていきます。
次回は、FirestoreのセキュリティルールとUXの関係について深掘り予定です!
読んでいただき、ありがとうございました!
Discussion