Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Memulai Firebase Crashlytics

Panduan memulai ini menjelaskan cara menyiapkan Firebase Crashlytics di aplikasi Anda dengan Firebase Crashlytics SDK, agar Anda bisa mendapatkan laporan kerusakan yang komprehensif di Firebase console.

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

Sebelum memulai

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

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

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

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

Langkah 1: Aktifkan Crashlytics di Firebase console

  1. Buka dasbor Crashlytics di Firebase console.

  2. Pastikan aplikasi Anda dipilih dari dropdown di samping Crashlytics di bagian atas halaman.

  3. Klik Aktifkan Crashlytics.

Langkah 2: Tambahkan Firebase Crashlytics SDK ke aplikasi

  1. Buka podfile yang Anda buat untuk project Firebase, lalu tambahkan pod FirebaseCrashlytics.

    Untuk mendapatkan pengalaman yang optimal dengan Crashlytics, sebaiknya aktifkan Google Analytics di project Firebase dan tambahkan pod Firebase untuk Google Analytics ke aplikasi Anda.

    pod 'Firebase/Crashlytics'
    
    # Recommended: Add the Firebase pod for Google Analytics
    pod 'Firebase/Analytics'
    
  2. Instal pod, lalu buka kembali file .xcworkspace Anda untuk melihat project di Xcode:

    pod install
    open your-project.xcworkspace
    
  3. Impor modul Firebase di UIApplicationDelegate Anda:

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  4. Konfigurasikan instance bersama FirebaseApp, yang biasanya ada dalam metode application:didFinishLaunchingWithOptions: aplikasi Anda:

    Swift

    // Use the Firebase library to configure APIs.
    FirebaseApp.configure()
    

    Objective-C

    // Use the Firebase library to configure APIs.
    [FIRApp configure];
    

Langkah 3: Siapkan Xcode untuk otomatis mengupload file dSYM

Untuk menghasilkan laporan kerusakan yang dapat dibaca manusia, Crashlytics memerlukan file simbol debug (dSYM) project Anda. Langkah-langkah berikut menjelaskan cara mengonfigurasi Xcode agar otomatis menghasilkan, memproses, dan mengupload file dSYM setiap kali Anda mem-build aplikasi.

  1. Buka ruang kerja Xcode pada project Anda, lalu pilih file project-nya di navigator kiri.

  2. Dari daftar TARGETS, pilih target build utama Anda.

  3. Klik tab Build Settings lalu selesaikan langkah-langkah berikut sehingga Xcode menghasilkan dSYM untuk build Anda.

    1. Klik All, lalu cari debug information format.

    2. Setel Debug Information Format ke DWARF with dSYM File untuk semua jenis build.

  4. Klik tab Build Phases, lalu selesaikan langkah-langkah berikut sehingga Xcode dapat memproses dan mengupload file dSYM.

    1. Klik > New Run Script Phase.

      Pastikan fase Run Script baru ini adalah fase build terakhir project Anda; jika tidak, Crashlytics tidak akan dapat memproses dSYM dengan benar.

    2. Perluas bagian Run Script baru.

    3. Di kolom skrip (terletak di bawah label Shell), tambahkan skrip pengoperasian berikut.

      Skrip ini memproses file dSYM project dan menguploadnya ke Crashlytics.

      "${PODS_ROOT}/FirebaseCrashlytics/run"
    4. Di bagian Input Files, tambahkan jalur untuk file berikut.

      • Tambahkan jalur ke file dSYM project

        Hal ini memungkinkan Crashlytics memproses dSYM untuk aplikasi besar dengan lebih cepat.

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
      • Tambahkan jalur ke file Info.plist bawaan project Anda

        Hal ini memungkinkan Crashlytics mengaitkan versi aplikasi dengan dSYM.

        $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

Untuk mendapatkan informasi selengkapnya tentang file dSYM dan Crashlytics (termasuk cara mengupload file dSYM secara manual), buka Mendapatkan laporan kerusakan yang di-deobfuscate.

Langkah 4: 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 untuk menambahkan tombol ke aplikasi Anda yang, saat ditekan, akan menyebabkan error. Tombol tersebut diberi label "Test Crash".

    Swift

    import UIKit
    
    class ViewController: UIViewController {
      override func viewDidLoad() {
          super.viewDidLoad()
    
          // Do any additional setup after loading the view, typically from a nib.
    
          let button = UIButton(type: .roundedRect)
          button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
          button.setTitle("Test Crash", for: [])
          button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
          view.addSubview(button)
      }
    
      @IBAction func crashButtonTapped(_ sender: AnyObject) {
          let numbers = [0]
          let _ = numbers[1]
      }
    }
    

    Objective-C

    #import "ViewController.h"
    
    @implementation ViewController
    ‐ (void)viewDidLoad {
        [super viewDidLoad];
    
        // Do any additional setup after loading the view, typically from a nib.
    
        UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = CGRectMake(20, 50, 100, 30);
        [button setTitle:@"Test Crash" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(crashButtonTapped:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
    }
    
    ‐ (IBAction)crashButtonTapped:(id)sender {
        @[][1];
    }
    
    @end
    
  2. Build dan jalankan aplikasi di Xcode. Gunakan langkah-langkah berikut untuk memastikan bahwa koneksi simulator atau perangkat pengujian terputus dari debugger Xcode (yang mengganggu Crashlytics).

    1. Klik Build and then run the current scheme untuk mem-build aplikasi Anda di simulator atau perangkat pengujian.

    2. Tunggu hingga aplikasi Anda berjalan, lalu klik Stop running the scheme or action untuk menutup instance awal aplikasi Anda. Instance awal ini mencakup debugger yang mengganggu Crashlytics.

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

    1. Buka aplikasi dari layar utama simulator atau perangkat pengujian Anda.

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

    3. Setelah aplikasi Anda mengalami error, jalankan lagi dari Xcode sehingga aplikasi Anda dapat mengirimkan laporan kerusakan ke Firebase.

  4. Buka dasbor Crashlytics 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 kerusakan atau tidak.


Dan selesai! Crashlytics kini akan memantau aplikasi Anda untuk menemukan error, dan Anda dapat melihat serta menyelidiki laporan kerusakan dan statistik error di dasbor Crashlytics.

Langkah berikutnya