web-dev-qa-db-ja.com

react-native-firebase crashlyticsがfirebaseダッシュボードに表示されない

私はfirebase crashlyticsを使用しています。私はすることによってクラッシュを引き起こしています

firebase.crashlytics().crash()

また、Firebaseダッシュボードにクラッシュレポートが表示されません。 Androidこの画面が表示されるため、クラッシュが発生しています enter image description here

iOSではアプリがフリーズし、xcodeでこのページが表示されます

enter image description here

しかし、firebaseのcrashlyticsダッシュボードでは、クラッシュは表示されません。

クラッシュがcrashlyticsダッシュボードに表示されない理由はありますか?私はreact-native-firebaseを使用しています。 Android with Javaで)ネイティブでクラッシュを発生させようとしたので、正しくインストールしたことを知っています。crashlyticsでクラッシュを確認できます。

10
Tenzin Choklang

TL; DR:_react-native run-Android --variant=release_を実行して、Crashlyticsが正しく機能し始めるようにします。ただし、すべてが正しく設定されていることが前提です(firebase.crashlytics().crash()アプリケーションをクラッシュさせます。)

注意してください-_react-native run-Android --variant=release_が正しく機能するためには、次の指示に従ってリリースビルド用にAPKを設定する必要があります: https://facebook.github .io/react-native/docs/signed-apk-Android

この解答を書いている時点で適切に報告されている破滅の証明 。クラッシュのないユーザーの評価が下がるのを見るのがうれしいです:)

ご不明な点がございましたら、お気軽にお問い合わせください。署名の設定は少し混乱する可能性があるため、ご不明な点がありましたらお知らせください。


これは非常にイライラする問題ですが、幸いなことに、私は解決策を見つけました。私はあなたとまったく同じ船に乗っています。

その大きな赤い画面を見ますか?それはReact開発中に開発者が何らかの間違いをしたことを伝えるネイティブの方法です。すぐに明らかではないのは、この赤い画面がエラーがエラーにつながるのを防ぐことです。レポートツール。アプリをリリースモードで実行すると、React Nativeで赤い画面が表示されなくなり、エラーレポートツールでクラッシュを報告できるようになります。


Gianが この質問の別の回答で指摘されている のように、firebase.crashlytics().crash()が正しく機能していないようです。ただし、これは完全には当てはまりません。デバッグモードで操作しているときはいつでも(赤い画面が表示されていれば、デバッグモードと呼んでいます)、Crashlyticsやその他のクラッシュレポートツールはネイティブ例外をキャッチできませんが、JavaScript例外をキャッチできます。上で説明したように、アプリケーションをリリースモードで実行すると、Crashlyitcsはネイティブ例外をキャッチできるようになります。 Crashlytics.crash()を見ると、これは実際にはJavaで意図的に記述されたクラッシュです。 Crashlyticsがネイティブ例外のためにアプリケーションがクラッシュしたことを実際に「聞く」には、デバッグモードではなくリリースモードで実行する必要があります。ここで死んだ馬を打ち負かして申し訳ありませんが、私はこの問題を午前中ずっと調査しており、私と同じ運命に苦しんでいる他の人にこの情報を共有することが適切だと感じました。

8
lustig

IOSでは、クラッシュが発生したときにアプリがフリーズしないように、アプリをXcodeからリンク解除する必要があります。

  1. アプリをビルドします。
  2. シミュレーターまたはデバイスを終了せずに、Xcodeでプロジェクトを停止します。
  3. その後、Xcodeがフリーズせずにクラッシュする可能性があります。
  4. アプリを再度開いて、Firebaseがクラッシュレポートを送信できるようにします。

    これを行う方法の詳細については、Firebaseのドキュメントに記載されている video tutorial を参照してください。

2
Lucas Garcez

firebase.crashlytics()。crash()が正しく機能していません。

ボタンをタップしたときにクラッシュをシミュレートするバグを意図的に作成しましたが、そのクラッシュがキャッチされ、すぐにCrashlyticsダッシュボードに表示されました。

Ej:React Nativeを使用するため、this.props.etc ...をthis.state.etc ...に変更して、「undefined is not a function exception」を作成しました。

それが役に立てば幸い!

0
Gian Pigatto

それは間違いなくあなたを助けます

  1. スキームの編集に移動
  2. 実行->情報
  3. ビルド構成をリリースに変更します。
  4. アプリを実行します

    そして手動でアプリをクラッシュさせます。これで、crashlyticsダッシュボードを確認できます

これも試してみてください

  1. シミュレーター/ iPhoneを起動します
  2. プレスストップ
  3. アプリを起動して強制的にクラッシュさせる
  4. シミュレーター/ iPhoneからアプリを再起動します
  5. Crashlyticsダッシュボードのクラッシュレポートをご覧ください。