🐕

【Day11】Firebase Authentication × Functions連携でUX改善を加速

に公開

【Day11】Firebase Authentication × Functions連携でUX改善を加速


こんにちは、Keisukeです。
個人開発もいよいよDay11。
今日は、Firebase AuthenticationCloud 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