Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Memulai Firebase Crashlytics

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

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

Menyiapkan Crashlytics memerlukan tugas di Firebase console dan IDE Anda (seperti menambahkan file konfigurasi Firebase dan Crashlytics SDK). Untuk menyelesaikan penyiapan, Anda harus memaksakan pengujian kerusakan untuk mengirimkan laporan kerusakan pertama Anda ke Firebase.

Sebelum kamu memulai

  1. Jika Anda belum melakukannya, tambahkan Firebase ke proyek Apple Anda. Jika Anda tidak memiliki aplikasi Apple, Anda dapat mengunduh contoh aplikasi .

  2. Direkomendasikan : Untuk mendapatkan fitur seperti crash-free users, breadcrumb logs, dan velocity alerts, Anda perlu mengaktifkan Google Analytics di project Firebase Anda.

    Semua platform Apple yang didukung oleh Crashlytics (kecuali watchOS) dapat memanfaatkan fitur-fitur ini dari Google Analytics. Perhatikan bahwa Anda memerlukan SDK v8.9.0+ untuk aplikasi macOS dan tvOS.

    • Jika proyek Firebase Anda yang ada tidak mengaktifkan Google Analytics, Anda dapat mengaktifkan Google Analytics dari tab Integrasi di Anda > Setelan proyek di konsol Firebase.

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

Langkah 1 : Tambahkan Crashlytics SDK ke aplikasi Anda

Gunakan Swift Package Manager untuk menginstal dan mengelola dependensi Firebase.

  1. Di Xcode, dengan proyek aplikasi Anda terbuka, arahkan ke File > Add Packages .
  2. Saat diminta, tambahkan repositori SDK platform Apple Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. Pilih library Crashlytics.
  5. Untuk pengalaman optimal dengan Crashlytics, sebaiknya aktifkan Google Analytics di project Firebase Anda dan tambahkan SDK Firebase untuk Google Analytics ke aplikasi Anda. Anda dapat memilih perpustakaan tanpa koleksi IDFA atau dengan koleksi IDFA.
  6. Setelah selesai, Xcode akan secara otomatis mulai menyelesaikan dan mengunduh dependensi Anda di latar belakang.

Selanjutnya, konfigurasikan modul Firebase:

  1. Impor modul Firebase di App struct atau UIApplicationDelegate :

    Cepat

    import Firebase

    Objective-C

    @import Firebase;
  2. Konfigurasikan instance bersama FirebaseApp , biasanya dalam metode application(_:didFinishLaunchingWithOptions:) delegasi aplikasi Anda:

    Cepat

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

    Objective-C

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

Langkah 2 : Siapkan Xcode untuk mengunggah file dSYM secara otomatis

Untuk menghasilkan laporan kerusakan yang dapat dibaca manusia, Crashlytics memerlukan file simbol debug (dSYM) proyek Anda. Langkah-langkah berikut menjelaskan cara mengonfigurasi Xcode untuk membuat dSYM Anda secara otomatis, memprosesnya, dan mengunggah file kapan pun Anda membuat aplikasi.

  1. Buka ruang kerja Xcode proyek Anda, lalu pilih file proyeknya di navigator kiri.

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

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

    1. Klik Semua , lalu cari debug information format .

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

  4. Klik tab Build Phases , lalu selesaikan langkah-langkah berikut agar Xcode dapat memproses dSYM Anda dan mengunggah file.

    1. Klik > Fase Skrip Jalankan Baru .

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

    2. Perluas bagian Run Script yang baru.

    3. Di bidang skrip (terletak di bawah label Shell ), tambahkan skrip jalankan berikut.

      Skrip ini memproses file dSYM project Anda dan mengupload file tersebut ke Crashlytics.

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. Di bagian Input Files , tambahkan jalur untuk lokasi file berikut:

      • Lokasi file dSYM proyek Anda :

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}

        Memberikan lokasi file dSYM project Anda memungkinkan Crashlytics memproses dSYM untuk aplikasi besar dengan lebih cepat.

      • Lokasi file Info.plist yang dibangun proyek Anda :

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

        Memberikan lokasi file Info.plist bawaan project Anda memungkinkan Crashlytics mengaitkan versi aplikasi dengan dSYM.

Untuk informasi lebih detail tentang file dSYM dan Crashlytics (termasuk cara mengupload file dSYM secara manual), kunjungi Mendapatkan laporan kerusakan yang disederhanakan .

Langkah 3 : Paksa crash pengujian untuk menyelesaikan penyiapan

Untuk menyelesaikan penyiapan Crashlytics dan melihat data awal di dasbor Crashlytics di Firebase console, Anda perlu memaksakan pengujian error.

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

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

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIkit

    Cepat

    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. Bangun dan jalankan aplikasi Anda di Xcode.

    1. Klik Build, lalu jalankan skema saat ini untuk mem-build aplikasi Anda di perangkat pengujian atau simulator.

    2. Tunggu hingga aplikasi Anda berjalan, lalu klik Berhenti menjalankan skema atau tindakan untuk menutup instance awal aplikasi Anda. Instance awal ini menyertakan debugger yang mengganggu Crashlytics.

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

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

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

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

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

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


Dan itu saja! Crashlytics sekarang memantau aplikasi Anda untuk error. Kunjungi dasbor Crashlytics untuk melihat dan menyelidiki semua laporan dan statistik Anda.

Langkah selanjutnya