web-dev-qa-db-ja.com

Crashlytics.logがファブリックダッシュボードに表示されない

Crashlyticsを使用していますが、致命的なクラッシュが発生します。ただし、追加されたデータ

Crashlytics.log(mytext);

はファブリックダッシュボードのどこにも表示されません。

ドキュメントで必要なセットアップまたは構成に関するヒントを見つけることができませんでした。何が欠けていますか?

13
michaelsmith

ファブリックのマイクはこちら。カスタムログ、キー、ユーザー識別子は、クラッシュごとに含まれます。それらを表示するには、あなたの Crashlytics dashboard. をクリックして、特定の問題をクリックします。

次に、「すべてのセッションを表示」をクリックします View All sessions

最新のセッションと特定のデータが表示されます: enter image description here

注意すべき点の1つは、値がわかったら、アプリを起動するたびにこれを設定する必要があることです。それらは複数の起動にわたって保持されません。

19
Mike Bonnell

以下の方法でログを取得することができました。

アプリケーションの設定ページに「PLOAD LOGS」ボタンを追加したので、ユーザーがクリックすると次のようになります。

                        Crashlytics.logException(new Exception("Upload Log exception"));
                        Intent mStartActivity = new Intent(thisActivity, SettingsActivity.class);
                        int mPendingIntentId = 123456;
                        PendingIntent mPendingIntent = PendingIntent.getActivity(thisActivity,mPendingIntentId,    mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);
                        AlarmManager mgr = (AlarmManager)thisActivity.getSystemService(Context.ALARM_SERVICE);
                        mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 200, mPendingIntent);
                        System.exit(0);

上記のコードは、現在のセッションのすべてのログをcrashlyticsにアップロードし、200ms後にアプリを再起動する非致命的な例外を呼び出します。これは、crashlyticがログをリモートにアップロードするための要件です(非致命的なエラーを呼び出しても、致命的なクラッシュのようなアプリはありません)

2
Ismail Iqbal