了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Firebase Crashlytics'i kullanmaya başlayın

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

Crashlytics'i kurmak, hem Firebase konsolunda hem de IDE'nizde görevler gerektirir (bir Firebase yapılandırma dosyası ve Crashlytics SDK eklemek gibi). Kurulumu tamamlamak için, ilk kilitlenme raporunuzu Firebase'e göndermek üzere bir test çökmesini zorlamanız gerekir.

Sen başlamadan önce

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

  2. Önerilen : Kilitlenme sorunu yaşamayan kullanıcılar, içerik haritası günlükleri ve hız uyarıları gibi özellikleri almak için Firebase projenizde Google Analytics'i etkinleştirmeniz gerekir.

    Crashlytics tarafından desteklenen tüm Apple platformları (watchOS hariç), Google Analytics'in bu özelliklerinden yararlanabilir. macOS ve tvOS uygulamaları için SDK v8.9.0+'ya ihtiyacınız olduğunu unutmayın.

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

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

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

Firebase bağımlılıklarını kurmak ve yönetmek için Swift Paket Yöneticisi'ni kullanın.

  1. Xcode'da, uygulama projeniz açıkken File > Add Packages seçeneğine gidin.
  2. İstendiğinde, Firebase Apple platformları SDK deposunu ekleyin:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. Crashlytics kitaplığını seçin.
  5. En iyi Crashlytics deneyimi için Firebase projenizde Google Analytics'i etkinleştirmenizi ve Google Analytics için Firebase SDK'yı uygulamanıza eklemenizi öneririz. Kütüphaneyi IDFA koleksiyonu olmadan veya IDFA koleksiyonu ile seçebilirsiniz.
  6. Bittiğinde, Xcode otomatik olarak arka planda bağımlılıklarınızı çözmeye ve indirmeye başlayacaktır.

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

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

    Süratli

    import Firebase

    Amaç-C

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

    Süratli

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

    Amaç-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

İnsanların okuyabileceği kilitlenme raporları oluşturmak için Crashlytics'in projenizin hata ayıklama sembolü (dSYM) dosyalarına ihtiyacı vardır. Aşağıdaki adımlar, Xcode'u dSYM'lerinizi otomatik olarak üretecek, işleyecek ve uygulamanızı her oluşturduğunuzda dosyaları yükleyecek şekilde nasıl yapılandıracağınızı açıklar.

  1. Projenizin Xcode çalışma alanını açın, ardından sol gezginde proje dosyasını seçin.

  2. HEDEFLER listesinden ana yapı hedefinizi seçin.

  3. Yapı Ayarları sekmesine tıklayın, ardından Xcode'un yapılarınız için dSYM'ler üretmesi için aşağıdaki adımları tamamlayın.

    1. Tümü'nü tıklayın, ardından debug information format arayın.

    2. Tüm derleme türleriniz için Hata Ayıklama Bilgisi Formatını DWARF with dSYM File olarak ayarlayın.

  4. Yapı Aşamaları sekmesine tıklayın, ardından Xcode'un dSYM'lerinizi işleyebilmesi ve dosyaları yükleyebilmesi için aşağıdaki adımları tamamlayın.

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

      Bu yeni Run Script aşamasının, projenizin son oluşturma aşaması olduğundan emin olun; aksi halde Crashlytics, dSYM'leri düzgün bir şekilde işleyemez.

    2. Yeni Komut Dosyasını Ç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, aşağıdaki dosyaların konumları için yolları ekleyin:

      • Projenizin dSYM dosyalarının konumu :

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

        Projenizin dSYM dosyalarının konumunu sağlamak, Crashlytics'in büyük uygulamalar için dSYM'leri daha hızlı işlemesini sağlar.

      • Projenizin yerleşik Info.plist dosyasının konumu:

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

        Projenizin yerleşik Info.plist dosyasının konumunu sağlamak, Crashlytics'in bir uygulama sürümünü dSYM'lerle ilişkilendirmesine olanak tanır.

dSYM dosyaları ve Crashlytics hakkında daha ayrıntılı bilgi için (dSYM dosyalarının manuel olarak nasıl yükleneceği dahil), Gizlemesi kaldırılmış kilitlenme raporları alın sayfasını ziyaret edin.

3. Adım : Kurulumu bitirmek için bir test çökmesine zorlayın

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

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

    Uygulamanıza, basıldığında çökmeye neden olan bir düğme eklemek için aşağıdaki kodu kullanabilirsiniz. Düğme "Çökmeyi Test Et" olarak etiketlenmiştir.

    SwiftUI

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

    UIKit

    Süratli

    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]
      }
    }
    

    Amaç-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'da oluşturun ve çalıştırın.

    1. Oluştur'a tıklayın ve ardından uygulamanızı bir test cihazı veya simülatör üzerinde oluşturmak için mevcut şemayı çalıştırın .

    2. Uygulamanız çalışana kadar bekleyin, ardından uygulamanızın ilk örneğini kapatmak için düzeni veya eylemi çalıştırmayı durdur'a . 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 çökmesini zorunlu kılın:

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

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

    3. Uygulamanız kilitlendikten sonra, uygulamanızın 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 yenilediyseniz ve beş dakika geçmesine rağmen test kilitlenmesini hala görmüyorsanız, uygulamanızın kilitlenme raporları gönderip göndermediğini görmek için hata ayıklama günlüğünü etkinleştirin .


Ve bu kadar! Crashlytics artık uygulamanızı çökmelere karşı izliyor. Tüm raporlarınızı ve istatistiklerinizi görüntülemek ve araştırmak için Crashlytics kontrol panelini ziyaret edin.

Sonraki adımlar