引き続き、Flutter道場さんのYouTube動画のまとめ。

全体的な大まかな手順(目次)

FlutterでFirebaseを入れて情報を取得する #01

  • FlutterFireドキュメントを見る
  • パッケージfirebase_coreを導入する
  • FlutterFire CLIを導入する

FlutterでFirebaseを入れて情報を取得する #02

FlutterでFirebaseを入れて情報を取得する #03

  • パッケージcloud_firestoreを導入する
  • Firebaseプロジェクト内のFirestore Databaseでデータベースを作成する
  • データベース内にデータを作成する
  • コーディング

前の記事はこちらから⇨FlutterでFirebaseを入れて情報を取得する #01

Firebaseプロジェクトを作成する

  1. 続きに戻って下記コマンドを実行する
    flutterfire configure
  2. Firebaseのプロジェクトが1つもない状態だと、新しいプロジェクトIDを入力せよと言ってくるので、入力してみたが、プロジェクトの作成に成功と出たものの、コンソールを確認すると、作成されていなかった。
  3. CLIコマンドでプロジェクトを作成できるようなことを書いているが、よくわからないので、コンソール上で作成してみる
  4. プロジェクト名を入力して、続行をクリックする
  5. 続行をクリックする
  6. プロジェクトを作成をクリックする
  7. 数秒待って、下記の画面になったら、続行をクリックする

Android/build.grandleファイルを更新する

  1. プロジェクトの概要の画面が表示される
  2. この状態で再度「flutterfire configure」コマンドを試してみると、Firebaseコンソールで作成したプロジェクトか、新しいプロジェクトか選ぶようにとのことなので、カーソルキー(矢印キー)で「Select a Firebase project…」を選んで、Returnキーを押下する。
  3. プラットフォームを選ぶようにとのことなので、カーソルキーの上下で選んでスペースキーを押下するとチェックマークを付けたり外したりできる。チェックをつけてReturnキーを押下する。
  4. iOSのバンドルIDは何にするかを聞かれるので、入力する
  5. Android配下のbuild.grandleファイルが更新されるとのことなので、yesを選択しReturnキーを押下する

lib/firebase_options.dartファイルを更新する

  1. lib/firebase_options.dartファイルの生成に成功したと出るので...
  2. そのファイルを開いて確認してみると、Firebase App Idが記載されていることが確認できる

XcodeにGoogleService-Info.plistファイルを組み込んでビルドする

  1. Flutter道場さんの動画では、XcodeにFirestoreの設定ファイルを組み込むとしているので、コンソールで、「iOS」を選択し、歯車マークをクリックする
  2. 下にスクロールし、「GoogleService-Info.plist」をクリックしてダウンロードする
  3. AndroidStudioに戻り、iOSのフォルダを右クリックし、「Open In → Finder」を選び、フォルダを開く
  4. 「Runner.xcworkspace」をダブルクリックすると、Xcodeが開く
  5. 「Runner」を右クリックし、「Add Files to “Runner”…」を選択する
  6. 先ほどダウンロードした「GoogleService-Info.plist」を選択し、「Add」をクリックする
    ※Destinationの「Copy items if needed」をチェックしておくこと
  7. 「GoogleService-Info.plist」がXcodeのプロジェクトに追加されたことを確認する

firebaseイニシャライザをコーディングしてビルドする

  1. ここでやっとFlutterFireに戻ってきて、初期化の仕方を教えてくれている
    main.dartにてパッケージのfirebase_core.dartをインポートし、先ほど生成してもらったfirebase_options.dartをインポートする
    使い方はinitializeAppメソッドが用意されているので、main関数で一度だけ呼び出すようにとのことである
    ただし非同期処理なのでasync,awaitを使用する
  2. あとはfirebase_coreのプラグインがFirebaseを使うための基本的な機能を用意してくれているので、それを使うようにとのこと
  3. 説明通りのイニシャライザをmain関数に取り入れる
    await…の行を挿入後、エラーが出るので自動修正してもらうと、asyncが入って、リターン値もvoidからFuture<void>に変わった
    ※FlutterFireドキュメントの説明ではリターン値の型はvoidのままだが、自動修正の結果を採用することにした
  4. これで一度ビルド実行してみる
    Flutter道場さんの動画ではエラーが出てくるが、エラーは発生せず、すんなり実行された

長くなったので、続きは「FlutterでFirebaseを入れて情報を取得する #03」で。

About The Author

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA