やろうとしたこと
Flutter製のアプリにFirebase Analytics(≒GoogleAnalytics)を導入しようとした。
公式ページの説明に従って、firebase_analyticsをpubspec.yamlに入れて、デバッグ実行しようとしたら以下のエラーを吐いてクラッシュした。
環境
macOS Monterey 12.4
VisualStudio Code 1.68.1
iPhone11 (iOS15.5)
発生したエラー
PlatformException (PlatformException(channel-error, Unable to establish connection on channel., null, null))
原因
先行で入れていたFirebase Coreとのバージョン違いによる兼ね合いが原因と思われる。
実はこの作業に先立ち、3週間ほど前にFirebase Crashlyticsを先行してアプリ内に組み込んでいた。
そちらの対応が終わったのでFirebase Analyticsの対応をしていたところこの件に躓いた次第だった。
Firebase Coreのバージョン: 1.17.1(2022/5/26公開)
Firebase Crashlyticsのバージョン: 2.8.1(2022/5/26公開)
Firebase Analyticsのバージョン: 9.1.12(2022/7/1公開) ←New!!
対処方法
すでに導入済みのCrashlyticsのバージョンは上げたくなかったので、Analyticsのバージョンを5/26時点のバージョン(9.1.9)に戻すことで水準を合わせた。
(作業手順)
- 一旦全ての差分を破棄
- flutter clean
-
firebase_analytics: 9.1.9
をpubspec.yamlに記述 - flutter pub get
- flutter run
これをおこなったことで、無事に起動するようになった。
自分の場合は前に入れていたもののバージョンに合わせたが、特にこだわりがなければfirebase関連のパッケージを全て最新で統一するのもアリかもしれない。
お試しあれ