ドキュメントのすべての手順に従って、AndroidアプリでFirebase Crash Reportingを使用します(Android Studioを使用し、すべてが最新です)。
独自のコードを使用して例外をスローし、動作するかどうかを確認しました。
try {
throw new NullPointerException();
} catch (NullPointerException ex) {
FirebaseCrash.logcat(Log.ERROR, TAG, "NPE caught");
FirebaseCrash.report(ex);
}
そして、コンソールは私にこのログを提供します:
E/MainActivity:NPEがキャッチされました
V/FirebaseCrash:Firebase Crash Reportingは無効になっています。
Build.gradleを1つ示します
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.1.0'
// Firebase - Google Services 3.0.0
classpath 'com.google.gms:google-services:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
他のbuild.gradleはこちら
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 'Android-N'
buildToolsVersion '24.0.0-rc2'
defaultConfig {
applicationId "com.app.test"
minSdkVersion 19
targetSdkVersion 'N'
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
useProguard true
}
}
}
dependencies {
compile 'com.Android.support:support-v4:24.0.0-alpha1'
compile 'com.Android.support:appcompat-v7:24.0.0-alpha1'
compile 'com.Android.support:design:24.0.0-alpha1'
compile 'com.google.firebase:firebase-core:9.0.0'
compile 'com.google.firebase:firebase-analytics:9.0.0'
compile 'com.google.firebase:firebase-crash:9.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.0'
compile 'com.google.firebase:firebase-config:9.0.0'
compile 'com.google.firebase:firebase-invites:9.0.0'
compile 'com.google.Android.gms:play-services-appindexing:9.0.0'
}
apply plugin: 'com.google.gms.google-services'
私も使用します:
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
FirebaseMessaging.getInstance().subscribeToTopic("news");
Log.d(TAG, "Subscribed to news topic");
必要なすべての依存関係を追加しましたが、1つずつ追加し、1つずつテストします。通知は機能します。アナリティクス:わかりません。更新するのに約24時間かかります。動作しているかどうかを知る...
だから、問題はそれをどのように有効にすることができますか?
注:crashおよびcoreを含むdependenciesのすべて、および- プラグインおよびクラスパス
よろしくお願いします。
次の点に注意してください:
SDKを追加したら、次を使用してみることができます。
FirebaseCrash.report(new Exception("My first Android non-fatal error"));
エラーがクラッシュレポートコンソールに表示されるまでに最大20分かかります。レポートをもう一度確認してください。
(明らかなように見えるかもしれませんが):INTERNET and ACCESS_NETWORK_STATE
パーミッションを持っていることを確認してください。
アプリで正しく設定した後、クラッシュレポートも機能しませんでした。これを修正するために、開発者コンソールのAPI Managerにアクセスし、「Mobile Crash and Performance Reporting API」を有効にしました。これを行う必要がある場所を正確に調べるには、 このページ の手順に従ってください。
上記のリンクの手順に従うと、「E/FirebaseCrashSenderServiceImpl:エラー送信クラッシュレポート」というテキストを含むlogcatにより、クラッシュレポートを有効にするためにコンソール内でアクセスする必要があるURLが提供されます。
次のコードを追加します:プロジェクトレベルのbuild.gradle(/build.gradle):
buildscript {
dependencies {
// Add this line
classpath 'com.google.gms:google-services:3.0.0'
}
}
アプリレベルのbuild.gradle(//build.gradle):
// Add to the bottom of the file
apply plugin: 'com.google.gms.google-services'
//Add following in In App-level build.gradle
compile 'com.google.firebase:firebase-crash:9.0.0'
プロジェクトを同期します。アクティビティで次のコードを使用して例外をスローします。
FirebaseCrash.report(new Exception("App Name : My first Android non-fatal error"));
check Androidクラッシュレポート 完全なガイダンスについては、firebaseを使用したチュートリアル。
同じ問題がありました。プロジェクトのgradleファイルに依存関係がありませんでした。これを追加してみてください。役立つはずです。
buildscript {
repositories {
jcenter()
// ...
}
dependencies {
// ...
classpath 'com.google.firebase:firebase-plugins:1.0.5'
}
}