【Flutter】Firebaseに接続するまでに試行錯誤したこと


Flutter初心者ですが、FIrebaseに接続するまでにたくさんつまづいたので、
いろいろ試したことをメモします。

最終的には接続できましたが、大変でした。。。

Firebaseのアプリ登録後、build.gradleファイルを更新後にビルドエラーが発生する

◆エラーメッセージ
「No matching client found for package name」

◆対処法
アプリケーションの名前を揃える

◆参照

Firebase.initializeApp()でエラーが発生する

◆エラーメッセージ
PlatformException (PlatformException(null-error, Host platform returned null value for non-null return value., null, null))

◆対処法
プラグインが足りてない?

◆参照

build.gradleの設定が足りてなかったっぽい

ので、↓画像のように設定しなおしました。
が、ビルドエラーが発生します。

◆エラーメッセージ
Your project requires a newer version of the Kotlin Gradle plugin.

◆対処法
Kotlinのプラグインのバージョンを上げます

◆参照

これでも、Firebase.initializeApp()のエラーが解消されません。

Firebase.initializeApp()に引数を持たせればよさそう

↓の記事を読んで気づきました。
何か、Firebase.initializeApp()に引数を持たせてる、、同じことをやってみよう

でも、Import ‘firebase_options.dart’はどこから来るのか・・・
続きます。

firebase_optionsを作成、設定する

firebase_optionsを作成するみたいです。

◆概要(詳細は↓記事参照)
・npmを使って、firebase CLIをインストールする(npmが無ければ先にNode.jsをインストールする)
・firebase CLIを使って、flutterFire CLIをインストールする
・FlutterFire CLIを使って、「firebase_options」を作成する
(道程が長い)

【私がつまづいたことメモ】
・flutterfireコマンドを実行する前にパスを通さないといけないことに注意
 (どこのパスを通すかは、1つ前のコマンド実行時に教えてくれる)
・その後、「firebase login」コマンドでfirebaseにログインしておく

◆参照

flutterfire configure実行後、forebase_options.dartファイルが作成され、
main.dartにImportできるようになります。
これで、FireBase.initiolizeApp()にoptionsの引数を持たせられます。

接続できた

ここまでやってようやくエラーが解消されました。長かった、、、
結局、FireBase.initiolizeApp()にoptionsの引数を持たせることで解消されました。が、そこまでが大変、、、

環境構築むずかしい。