Firebase Crashlytics'i kullanmaya başlayın

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

Crashlytics'in kurulumu, hem Firebase konsolunda hem de IDE'nizde görevler (Firebase yapılandırma dosyası ve Crashlytics SDK ekleme gibi) gerektirir. Kurulumu tamamlamak için ilk kilitlenme raporunuzu Firebase'e göndermesi için bir test kilitlenmesini zorunlu kılmanız gerekir.

Başlamadan önce

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

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

    • Mevcut Firebase projenizde Google Analytics etkin değilse Firebase konsolunda > Proje ayarları'nın Entegrasyonlar sekmesinden Google Analytics'i etkinleştirebilirsiniz.

    • Yeni bir Firebase projesi oluşturuyorsanız proje oluşturma iş akışı sırasında Google Analytics'i etkinleştirin.

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

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

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

  1. Xcode'da, uygulamanız açıkken File > Add Packages'a (Dosya > Paket Ekle) gidin.
  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. İçerik haritası 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. (macOS) Info.plist hizmetinize NSApplicationCrashOnExceptions anahtarını ekleyin ve YES olarak ayarlayın.
  8. İşlem tamamlandığında Xcode, arka planda bağımlılıkları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, paylaşılan 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'in, okunabilir kilitlenme raporları oluşturabilmesi için projenizin hata ayıklama sembolü (dSYM) dosyalarına ihtiyacı vardır. Aşağıdaki adımlarda, dSYM'lerinizi otomatik olarak üretmek, işlemek ve uygulamanızı her derlediğinizde dosyaları yüklemek için Xcode'u nasıl yapılandıracağınız açıklanmaktadır.

  1. Projenizin Xcode çalışma alanını açın, ardından soldaki gezinme bölmesinde projenin proje dosyasını seçin.

  2. HEDEFLER listesinden ana derleme hedefinizi seçin.

  3. Build Settings (Derleme Ayarları) sekmesini tıklayın ve Xcode'un derlemeleriniz için dSYM'ler oluşturması amacıyla aşağıdaki adımları uygulayın.

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

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

  4. Derleme Aşamaları sekmesini tıklayın ve Xcode'un dSYM'lerinizi işleyip dosyaları yükleyebilmesi için aşağıdaki adımları tamamlayın.

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

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

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

    3. Komut dosyası alanına (Kabuk etiketinin altındadır) 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, aşağıdaki dosyaların konumlarının yollarını ekleyin:

      ${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 (dSYM dosyalarının manuel olarak nasıl yükleneceği dahil) için Kod göstermeyle gösterilen kilitlenme raporları alma sayfasını ziyaret edin.

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

Crashlytics'in kurulumunu tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için test kilitlenmesini zorunlu kılmanız gerekir.

  1. Uygulamanıza, test kilitlenmesini zorlamak için kullanabileceğiniz bir kod ekleyin.

    Uygulamanıza, basıldığında kilitlenmeye neden olan bir düğme eklemek için aşağıdaki kodu kullanabilirsiniz. Düğme, "Kilitlenmeyi Test Et" etiketini taşır.

    Hızlı Kullanıcı Arayüzü

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

    kullanıcı arayüzüKit

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

    1. Uygulamanızı bir test cihazında veya simülatörde derlemek için Mevcut şemayı oluştur ve ardından çalıştır'ı tıklayın.

    2. Uygulamanız çalışana kadar bekleyin, ardından uygulamanızın ilk örneğini kapatmak için Şemayı veya işlemi çalıştırmayı durdur'u tıklayın. Bu ilk örnek, Crashlytics'i engelleyen hata ayıklayıcıyı içeriyordu.

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

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

    2. Uygulamanızda, yukarıdaki kodu kullanarak eklediğiniz "Kilitlenmeyi Test Et" düğmesine basın.

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

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

    Konsolu yenilediyseniz ve beş dakika geçmesine rağmen test kilitlenmesini hâlâ görmüyorsanız uygulamanızın kilitlenme raporları gönderip göndermediğini görmek için hata ayıklama günlük kaydını etkinleştirin.


Hepsi bu kadar! Crashlytics şu anda uygulamanızda kilitlenme olup olmadığını izliyor. Tüm raporlarınızı ve istatistiklerinizi görüntüleyip incelemek için Crashlytics kontrol panelini ziyaret edin.

Sonraki adımlar