Firebase Crashlytics'i kullanmaya başlayın


Bu hızlı başlangıç kılavuzunda, Firebase konsolunda kapsamlı kilitlenme raporları alabilmek için uygulamanızda Firebase Crashlytics SDK'sı ile Firebase Crashlytics'ü nasıl ayarlayacağınız açıklanmaktadır.

Crashlytics'ü ayarlamak için hem Firebase konsolunda hem de IDE'nizde (ör. Firebase yapılandırma dosyası ve Crashlytics SDK'sı ekleme) görevler yapmanız gerekir. Kurulumu tamamlamak için ilk kilitlenme raporunuzu Firebase'e göndermek üzere test kilitlenmesini zorlamanız gerekir.

Başlamadan önce

  1. Henüz yapmadıysanız Apple projenize Firebase'i ekleyin. Apple uygulamanız yoksa örnek uygulama indirebilirsiniz.

  2. Önerilen: Otomatik içerik haritası günlükleri Kilitlenme, önemli olmayan veya ANR etkinliğiyle sonuçlanan kullanıcı işlemlerini anlamak için Firebase projenizde Google Analytics modunu etkinleştirmeniz gerekir.

    • Mevcut Firebase projenizde Google Analytics yoksa Google Analytics öğesini şuradan etkinleştirebilirsiniz: hesabınızın Entegrasyonlar > Proje ayarları Firebase konsolunda kontrol edebilirsiniz.

    • Yeni bir Firebase projesi oluşturuyorsanız Google Analytics özelliğini etkinleştirin müzakere tekniği de eklediniz.

    Breadcrumb günlüklerinin, watchOS hariç Crashlytics tarafından desteklenen tüm Apple platformlarında kullanılabileceğini unutmayın.

1. Adım: Crashlytics SDK'sını uygulamanıza ekleyin

Firebase bağımlılıklarını yükleyip yönetmek için Swift Package Manager'ı kullanın.

  1. Xcode'da, uygulama projeniz açıkken Dosya > Paket Ekle'yi tıklayın.
  2. İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Crashlytics kitaplığını seçin.
  5. Breadcrumb günlüklerinden yararlanmak için uygulamanıza Google Analytics için Firebase SDK'sını da ekleyin. Firebase projenizde Google Analytics'in etkinleştirildiğinden emin olun.
  6. -ObjC işaretini, hedefinizin derleme ayarlarındaki Diğer Bağlayıcı İşaretleri bölümüne ekleyin.
  7. (yalnızca macOS) Info.plist cihazınıza anahtarı ekleyin NSApplicationCrashOnExceptions ve şuna ayarla: YES.
  8. İşlem tamamlandığında Xcode, arka planda bağımlılarınızı otomatik olarak çözümlemeye ve indirmeye başlar.

Ardından Firebase modülünü yapılandırın:

  1. Firebase modülünü App yapınıza veya UIApplicationDelegate dosyanıza aktarın:

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  2. Genellikle uygulama temsilcinizin application(_:didFinishLaunchingWithOptions:) yönteminde bir FirebaseApp paylaşılan örneği yapılandırın:

    Swift

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

    Objective-C

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

2. Adım: Xcode'u dSYM dosyalarını otomatik olarak yükleyecek şekilde ayarlayın.

Crashlytics uygulamasının, okunabilir kilitlenme raporları oluşturabilmek için projenizin hata ayıklama sembolü (dSYM) dosyaları. Aşağıdaki adımlarda, dSYM'lerinizi otomatik olarak oluşturması, işlemesi ve uygulamanızı derlediğinizde dosyaları yüklemesi için Xcode'un nasıl yapılandırılacağı açıklanmaktadır.

  1. Projenizin Xcode çalışma alanını açın, ardından sol gezinme menüsünde proje dosyasını seçin.

  2. HEDEFLER listesinden ana derleme hedefinizi seçin.

  3. Build Settings (Derleme Ayarları) sekmesini tıklayın, ardından aşağıdaki adımları uygulayarak Xcode, derlemeleriniz için dSYM'ler üretir.

    1. Tümü'nü tıklayın ve debug information format araması yapın.

    2. Tüm öğeleriniz için Hata Ayıklama Bilgi Biçimi'ni DWARF with dSYM File olarak ayarlayın derleme türleri.

  4. Derleme Aşamaları sekmesini tıklayın ve ardından aşağıdaki adımları uygulayarak Xcode, dSYM'lerinizi işleyip dosyaları yükleyebilir.

    1. > Yeni Komut Dosyası Çalıştırma Aşaması'nı tıklayın.

      Bu yeni Komut Dosyası Çalıştırma aşamasının, projenizin son derlemesi olduğundan emin olun. aşama; Aksi takdirde, Crashlytics dSYM'leri düzgün şekilde işleyemez.

    2. Yeni Komut Dosyası Çalıştır bölümünü genişletin.

    3. Komut dosyası alanına (Kabuk etiketinin altında bulunur) aşağıdaki çalıştırma komut dosyasını ekleyin.

      Bu komut dosyası, projenizin dSYM dosyalarını işler ve dosyaları Crashlytics'e yükler.

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. Giriş Dosyaları bölümünde, şu dosyalarda kullanılabilir:

      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
      $(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
      $(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)

dSYM dosyaları ve Crashlytics hakkında daha ayrıntılı bilgi edinmek için (dSYM dosyalarının manuel olarak yüklenmesi dahil) Gizleme işlemi uygulanmış kilitlenme raporları alma başlıklı makaleyi inceleyin.

3. Adım: Kurulumu tamamlamak için test kilitlenmesini zorunlu kılın

Crashlytics'ü ayarlamayı tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için test kilitlenmesini zorlamanız gerekir.

  1. Uygulamanıza, test amaçlı kilitlenme yapmak için kullanabileceğiniz kod ekleyin.

    Uygulamanıza basıldığında kilitlenmeye neden olur. Düğme, "Kilitlenmeyi Test Et" etiketini taşır.

    SwiftUI

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

    UIKit

    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. Xcode hata ayıklayıcısının bağlantısı kesilmişken uygulamanızı Xcode'da derleyip çalıştırın.

    1. Derle'yi tıklayın ve ardından Uygulamanızı bir test cihazında derlemek için mevcut şemayı çalıştırın veya simülatörüdür.

    2. Uygulamanız çalıştırılana kadar bekleyin, ardından uygulamanızın ilk örneğini kapatmak için Dizeni veya işlemi çalıştırmayı durdur'u tıklayın. Bu ilk örnek, Crashlytics ile etkileşime geçen hata ayıklayıcıyı içeriyordu.

  3. Uygulamanızın ilk kilitlenme raporunu göndermek için test kilitlenmesini zorlama:

    1. Uygulamanızı test cihazınızın veya simülatörünüzün ana ekranından açın.

    2. Uygulamanızda "Kilitlenmeyi Test Et"e basın kodu kullanarak eklediğiniz düğme bölümünü ziyaret edin.

    3. Uygulamanız kilitlendikten sonra, kilitlenme raporunu Firebase'e gönderebilmesi için Xcode'dan tekrar çalıştırın.

  4. Test kilitlenmenizi görmek için Firebase konsolunun Crashlytics kontrol paneline gidin.

    Konsolu yeniledikten sonra beş dakika geçmesine rağmen testin kilitlendiğini görmüyorsanız uygulamanızın kilitlenme raporu gönderip göndermediğini görmek için hata ayıklama günlük kaydını etkinleştirin.


Hepsi bu kadar. Crashlytics, uygulamanızı kilitlenmeler açısından izliyor. Tüm rapor ve istatistiklerinizi görüntülemek ve incelemek için Crashlytics kontrol panelini ziyaret edin.

Sonraki adımlar