Check out what’s new from Firebase at Google I/O 2022. Learn more

Memulai Firebase Crashlytics

Panduan memulai ini menjelaskan cara menyiapkan Firebase Crashlytics di aplikasi Anda dengan Firebase Crashlytics SDK, agar Anda bisa mendapatkan laporan error yang komprehensif di Firebase console. Dengan Crashlytics untuk Android, Anda mendapatkan laporan terkait error, error non-fatal, dan error "Aplikasi Tidak Merespons" (ANR).

Penyiapan Crashlytics perlu dilakukan baik di Firebase console maupun di IDE Anda (misalnya, menambahkan file konfigurasi Firebase dan Crashlytics SDK). Untuk menyelesaikan penyiapan, Anda harus memaksa error pengujian untuk mengirim laporan error pertama ke Firebase.

Sebelum memulai

  1. Tambahkan Firebase ke project Android jika belum melakukannya. Jika tidak memiliki aplikasi Android, Anda dapat mendownload aplikasi contoh.

  2. Direkomendasikan: Untuk mendapatkan fitur seperti pengguna bebas error, log breadcrumb, dan pemberitahuan kecepatan, Anda harus mengaktifkan Google Analytics di project Firebase.

    • Jika project Firebase yang ada belum mengaktifkan Google Analytics, Anda dapat melakukannya dari tab Integrations di > Project settings di Firebase console.

    • Jika Anda membuat project Firebase baru, aktifkan Google Analytics selama alur kerja pembuatan project.

Langkah 1: Tambahkan Firebase Crashlytics SDK ke aplikasi Anda

Dengan Firebase Android BoM, deklarasikan dependensi untuk library Android Crashlytics dalam file Gradle modul (level aplikasi) (biasanya app/build.gradle).

Untuk mengoptimalkan penggunaan Crashlytics, sebaiknya aktifkan Google Analytics di project Firebase dan tambahkan Firebase SDK untuk Google Analytics ke aplikasi Anda.

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.3.1')

    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics'
    implementation 'com.google.firebase:firebase-analytics'
}

Dengan menggunakan Firebase Android BoM, aplikasi Anda akan selalu menggunakan versi library Android Firebase yang kompatibel.

(Alternatif) Deklarasikan dependensi library Firebase tanpa menggunakan BoM

Jika memilih untuk tidak menggunakan Firebase BoM, Anda harus menentukan setiap versi library Firebase di baris dependensinya.

Perhatikan bahwa jika Anda menggunakan beberapa library Firebase di aplikasi, sebaiknya gunakan BoM untuk mengelola versi library, yang memastikan bahwa semua versi kompatibel.

dependencies {
    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics:18.2.9'
    implementation 'com.google.firebase:firebase-analytics:20.1.2'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:29.3.1')

    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
}

Dengan menggunakan Firebase Android BoM, aplikasi Anda akan selalu menggunakan versi library Android Firebase yang kompatibel.

(Alternatif) Deklarasikan dependensi library Firebase tanpa menggunakan BoM

Jika memilih untuk tidak menggunakan Firebase BoM, Anda harus menentukan setiap versi library Firebase di baris dependensinya.

Perhatikan bahwa jika Anda menggunakan beberapa library Firebase di aplikasi, sebaiknya gunakan BoM untuk mengelola versi library, yang memastikan bahwa semua versi kompatibel.

dependencies {
    // Declare the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx:18.2.9'
    implementation 'com.google.firebase:firebase-analytics-ktx:20.1.2'
}

Langkah 2: Tambahkan plugin Firebase Crashlytics ke aplikasi Anda

  1. Di file build.gradle level project, tambahkan plugin Gradle Crashlytics sebagai dependensi buildscript.

    buildscript {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    
        dependencies {
            // ...
    
            // Check that you have the Google services Gradle plugin v4.3.2 or later
            // (if not, add it).
            classpath 'com.google.gms:google-services:4.3.10'
    
            // Add the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
        }
    }
    
    allprojects {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    }
  2. Di file build.gradle level aplikasi, terapkan plugin Gradle Crashlytics:

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services' // Google services Gradle plugin
    
    // Apply the Crashlytics Gradle plugin
    apply plugin: 'com.google.firebase.crashlytics'
    

Langkah 3: Paksa error pengujian untuk menyelesaikan penyiapan

Untuk menyelesaikan penyiapan Crashlytics dan melihat data awal di dasbor Crashlytics pada Firebase console, Anda harus memaksa error pengujian.

  1. Tambahkan kode ke aplikasi yang dapat Anda gunakan untuk memaksa error pengujian.

    Anda dapat menggunakan kode berikut di MainActivity aplikasi untuk menambahkan tombol ke aplikasi Anda yang, jika ditekan, akan menyebabkan error. Tombol tersebut diberi label "Test Crash".

    Java

    Button crashButton = new Button(this);
    crashButton.setText("Test Crash");
    crashButton.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {
           throw new RuntimeException("Test Crash"); // Force a crash
       }
    });
    
    addContentView(crashButton, new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT));
    

    Kotlin+KTX

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // Force a crash
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))
    
  2. Build dan jalankan aplikasi Anda.

  3. Paksa error pengujian untuk mengirimkan laporan error pertama aplikasi:

    1. Buka aplikasi dari emulator atau perangkat pengujian.

    2. Di aplikasi Anda, tekan tombol "Test Crash" yang telah ditambahkan menggunakan kode di atas.

    3. Setelah aplikasi Anda mengalami error, mulai ulang aplikasi agar dapat mengirimkan laporan error ke Firebase.

  4. Buka dasbor Crashlytics pada Firebase console untuk melihat error pengujian Anda.

    Jika Anda sudah me-refresh konsol dan masih tidak melihat error pengujian setelah lima menit, aktifkan logging debug untuk melihat apakah aplikasi Anda mengirim laporan error atau tidak.


Sudah selesai! Crashlytics kini memantau aplikasi Anda untuk menemukan error, error non-fatal, dan ANR. Buka dasbor Crashlytics untuk melihat dan menyelidiki semua laporan dan statistik Anda.

Langkah berikutnya