1
1

More than 3 years have passed since last update.

Flutter で Firebase Crashlytics を使おうとすると ネットワークエラーが発生する問題

Last updated at Posted at 2020-05-21

結構ハマったので共有します。

概要

FlutterでFirebaseのCrashlyticsを使おうと、手順通りに設定していったのに、下記のエラーがでて疎通できない問題についてです。

[Fabric] failed to download settings Error Domain=FABNetworkError Code=-5 "(null)" UserInfo={status_code=403, type=2, request_id=, content_type=application/json; charset=utf-8}

Crashlyticsの画面も疎通待ちのまま更新されません。。。
Screen Shot 2020-05-22 at 7.28.07.png

やったこと

まずは、FlutterとFirebase自体を接続します。
1. Firebase consoleでプロジェクトを作成し、iOS向けのアプリ追加ウィザードを進めます。
2. 途中で GoogleService-Info.plist をDLできるのでXcodeのRunner/Runnerに設置します。(このファイルがiOSとFirebaseの接続情報となります)
3. ウィザードの最後に接続待ちとなるので、Flutterをビルドすると接続が完了となります。

次に、Firebase Crashlyticsの接続をします。
1. Firebase consoleでCrashlyticsを開いてSDK追加し疎通待ちの状態にします。
2. https://pub.dev/packages/firebase_crashlytics のiOS Integrationに従って設定します。
3. Flutterをビルドすると疎通が完了するハズです。が、疎通できません。。。

海外サイト等を調べてみると以下のような解決アプローチは載っていましたが、すべて該当しませんでした。。。

  • pubspec.yaml のロード順を変更する
    firebase_coreよりも後にfirebase_crashlyticsを書くこと
  • XcodeのInfo.plistに手書きでAPI Keyを追加する(旧式のやりかた?)
  • XcodeのRunScriptのInput Filesに以下を追加(Xcode 10のみ) \$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

解決策

半ばあきらめつつも調べていると、1つのIssueを見つけました。
https://github.com/FirebaseExtended/flutterfire/issues/1592
同じようなアプローチだなぁと思いつつ、最後の方を見てみると「実機でテストするとうまくいきました」と書いてある!

もしやと思いつつさっそく、実機でテストしたところ疎通できました!
Crashlyticsの画面も疎通完了しました!
Screen Shot 2020-05-22 at 7.39.35.png

解決できてよかったです。
その後、クラッシュデータを送信してみたのですが、これもシミュレーターからはうまく届かず、実機からであればデータが届き、Firebase Crashlyticsでも確認できました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1