Firebase Auth で初回ログインか知る方法

Firebase Auth で初回ログインか知る方法

Nov 20, 2019

Flutter で Firebase Auth を使ってログインを行う時にユーザが初回ログインかどうか知る方法を紹介します。

このエントリーをはてなブックマークに追加

前提

  • firebase_authFlutterプロジェクトに導入されている
  • firebase_authのバージョンが0.12.0以上

方法

firebase_authのバージョン0.12.0からサインインの返り値がAuthResultになりました。

final AuthResult result =
	await FirebaseAuth.instance.signInAnonymously();

上記は匿名ログインですが、GoogleログインでもFacebookログインでも返り値は同じです。 この場合、型は省略できますが、分かりやすさのため明示的に書きました。

AuthResultクラスのuseradditionalUserInfoのメンバにアクセスすることができます(厳密にはadditionalUserInfoはメンバではありませんが)。userはサインインが成功したユーザで、additionalUserInfoには追加情報が入っています。

additionalUserInfoisNewUserを確認することで、新しいユーザか、つまり初回ログインかどうかを知ることができます。

コードで表現すると以下のようになります。

final result =
	await FirebaseAuth.instance.signInAnonymously();
final isFirstLogin = result.additionalUserInfo.isNewUser;
if(isFirstLogin) {
	print('First Login');
} else {
	print('Not First Login');
}

アプリに初めてログインしたユーザに対して、導入ページを表示させたい時などに使えると思うので、参考にしてみてください!

このエントリーをはてなブックマークに追加