Firebase CrashレポートからFirebase Crashlyticsに切り替えようとしています。
私はここのガイドに従いました: https://firebase.google.com/docs/crashlytics/upgrade-from-crash-reporting
しかし、初期化中にログは言う:
レポートの送信をスキップして、null設定を受け取りました!
そしてクラッシュをテストするとき:
レポートを送信できません。設定は使用できません。
ネットワーク接続は良好なので、設定を取得できない理由はありません。
ログ出力:
D/CrashlyticsCore: Initialization marker file created.
W/CrashlyticsCore: Received null settings, skipping report submission!
D/CrashlyticsCore: Initialization marker file removed: true
D/CrashlyticsCore: Crashlytics is handling uncaught exception "Java.lang.RuntimeException: Testing crash" from thread main
D/CrashlyticsCore: Logging Crashlytics event to Firebase
D/CrashlyticsCore: No log data to include with this event.
D/CrashlyticsCore: Unable to close session. Settings are not loaded.
D/CrashlyticsCore: Opening a new session with ID 5A042DD20217-0002-4F33-A5AF620D03D1
D/Fabric: Falling back to Crashlytics key lookup from Manifest
D/Fabric: Falling back to Crashlytics key lookup from Strings
D/Fabric: Falling back to Crashlytics key lookup from Manifest
D/Fabric: Falling back to Crashlytics key lookup from Strings
W/CrashlyticsCore: Cannot send reports. Settings are unavailable.
D/CrashlyticsCore: Crashlytics completed exception processing. Invoking default exception handler.
プロジェクトをファブリックにリンクする必要があります。すでに実行している場合は無視してください。それ以外の場合は、次の手順に従います
ファブリックに移動し、指示に従います(アカウントを作成するか、すでにアカウントをお持ちの場合はサインインします)。 Fabricに正常にログインしたら、次に、Fabricプラグインを使用できるように、プロジェクトをFabricにリンクする必要があります。
プラグインをインストールした後、以下に示す以下のオプションのいずれかをクリックして、プラグインを開くことができます。
指示に従ってFabricプロジェクトを作成します。その後、firebase console-> Crashlytics-> firebaseプロジェクトをFabricプロジェクトにリンクします。
それで全部です...
Fabric CrashlyticsからFirebase Crashlyticsにアップグレードするとき、AndroidManifest.xml
には、Fabricのこの属性が含まれていました。ファブリック内のアプリをFirebaseに正しくリンクした後。 https://www.fabric.io/settings/organizations で見つけることができます
<meta-data
Android:name="io.fabric.ApiKey"
Android:value="..." />
(...
with your key)これは<application>
ブロック。これを含めると、設定が検出され、Firebaseコンソールのメールアラートにクラッシュが表示されました。
私の場合、同じエラーが発生しました。アプリケーションの異なるフレーバーのために、setup tutorial で必要に応じてデバイスでクラッシュを強制したためです。
私のアプリには2つのフレーバーがあるため、フレーバー番号2を正常にリンクするには、別のシミュレーターで強制的にクラッシュする必要がありました。
注:2つのフレーバーには、少なくとも異なるパッケージが必要です。
同じことが私にも起こりました。私は別のフレーバーのアプリをインストールしていたので、現在インストールされているすべてのフレーバーを削除し、クラッシュを再度シミュレートした後に機能しました。