[Flutter]riverpod、state_notifier、freezedを使ってfirebaseのログイン実装

Flutterでnew projectを作成

画像1

シミュレータを起動させ、新しく作成されたものを

flutter run

で立ち上げると

画像3

こんな画面が出てきます。

firebaseの設定はこちらを参考にさせていただきました。

firebaseでプロジェクト作成

にアクセスしプロジェクト名を入力

画像2

ログイン方法設定

画像4

詳しくは上のyoutubeを見てください。

設定できたらpubspec.yamlを編集。

追加したものは、

firebase_core、firebase_auth、flutter_hooks、hooks_riverpod、state_notifier、freezed_annotation、freezed、build_runner

画像7

編集したら

pub get

でプロジェクトに反映させる

プロジェクトのlib内の構成は

画像6

こちらの記事の構成を参考にさせていただきました。


アプリが立ち上がると初めにmain.dartが呼ばれて、Firebase.initializeApp()でFirebaseとの接続が確立されるとroot.dartに行きます。root.dartでログイン情報を見て、ログインしているのであればhome_page.dartへ、ログインしていないのであればlogin_page.dartが呼ばれるようになっている。

Firebaseとアプリをつなぐ設定をしていない場合、main.dartの

if (snapshot.hasError) {
         return MaterialApp(
           title: 'login_sample',
           home: ErrorPage(),
         );
       }

ここの部分によってエラーページに飛びます。​

画像7

Firebaseとアプリの接続設定ができると

画像8

ログイン画面が表示されるようになります

こちらの記事でより詳細にコードを見ることができます。気になったらぜひご覧下さい。


この記事が気に入ったらサポートをしてみませんか?