【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の引数を持たせることで解消されました。が、そこまでが大変、、、
環境構築むずかしい。