Apple platformları için Performance Monitoring'i kullanmaya başlayın

Başlamadan önce

Henüz yapmadıysanız Firebase'i Apple projenize ekleyin.

1. adım: Uygulamanıza Performance Monitoring ekleyin

Performance Monitoring SDK'sını ekledikten sonra Firebase, uygulamanızın ekran oluşturma, uygulamanızın yaşam döngüsüyle ilgili veriler (ör. uygulama başlatma süresi) ve HTTP/S ağ istekleriyle ilgili verileri otomatik olarak toplamaya başlar.

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

  1. Xcode'da, uygulamanız açıkken File > Add Packages (Dosya > Paket Ekle) seçeneğine gidin.
  2. İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Performance Monitoring kitaplığını seçin.
  5. -ObjC işaretini hedefinizin derleme ayarlarının Other Linker Flags (Diğer Bağlayıcı İşaretleri) bölümüne ekleyin.
  6. İşlem tamamlandığında Xcode otomatik olarak arka planda bağımlılarınızı çözümlemeye ve indirmeye başlar.

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

  1. FirebaseCore modülünü UIApplicationDelegate dosyanıza ve uygulama temsilcinizin kullandığı diğer Firebase modüllerine aktarın. Örneğin, Cloud Firestore ve Authentication kullanmak için:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Uygulama temsilcinizin application(_:didFinishLaunchingWithOptions:) yönteminde paylaşılan bir FirebaseApp örneği yapılandırın:

    SwiftUI

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

    Swift

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

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. SwiftUI kullanıyorsanız bir uygulama temsilcisi oluşturmanız ve bunu App yapınızda UIApplicationDelegateAdaptor veya NSApplicationDelegateAdaptor aracılığıyla eklemeniz gerekir. Ayrıca uygulama temsilcisi karıştırmayı da devre dışı bırakmanız gerekir. Daha fazla bilgi için SwiftUI talimatlarına bakın.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. Uygulamanızı yeniden derleyin.

2. adım: İlk veri gösterimi için performans etkinlikleri oluşturun

SDK'yı uygulamanıza başarıyla eklediğinizde Firebase, etkinlikleri işlemeye başlar. Hâlâ yerel olarak geliştirme yapıyorsanız ilk veri toplama ve işleme için etkinlik oluşturmak üzere uygulamanızla etkileşimde bulunun.

  1. Simülatör veya test cihazı kullanarak uygulamanızı geliştirmeye devam edin.

  2. Uygulamanızı birkaç kez arka plan ve ön plan arasında değiştirerek, ekranlar arasında gezinerek uygulamanızla etkileşimde bulunarak ve/veya ağ isteklerini tetikleyerek etkinlik oluşturun.

  3. Firebase konsolunun Performans kontrol paneline gidin. İlk verilerinizin birkaç dakika içinde gösterilmesi gerekir.

    İlk verilerinizin gösterildiğini görmüyorsanız sorun giderme ipuçlarını inceleyin.

3. adım: (İsteğe bağlı) Performans etkinlikleriyle ilgili günlük mesajlarını görüntüleyin

  1. Hata ayıklama günlük kaydını aşağıdaki şekilde etkinleştirin:

    1. Xcode'da (en az v16.2) Product > Scheme > Edit scheme'i (Şemayı düzenle) seçin.
    2. Soldaki menüden Run'ı (Çalıştır) ve ardından Arguments (Bağımsız değişkenler) sekmesini seçin.
    3. Arguments Passed on Launch (Başlatmada İletilen Parametreler) bölümüne -FIRDebugEnabled ekleyin.
  2. Günlük mesajlarınızda hata mesajı olup olmadığını kontrol edin.

  3. Performance Monitoring, günlük mesajlarını Firebase/Performance ile etiketler. Böylece günlük mesajlarınızı filtreleyebilirsiniz.

  4. Performance Monitoring'nın performans etkinliklerini günlüğe kaydettiğini gösteren aşağıdaki günlük türlerini kontrol edin:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Verilerinizi Firebase konsolunda görüntülemek için URL'yi tıklayın. Verilerin kontrol panelinde güncellenmesi birkaç dakika sürebilir.

Uygulamanız performans etkinliklerini kaydetmiyorsa sorun giderme ipuçlarını inceleyin.

4. adım: (İsteğe bağlı) Belirli kod için özel izleme ekleyin

Uygulamanızdaki belirli kodlarla ilişkili performans verilerini izlemek için özel kod izleri oluşturabilirsiniz.

Özel kod izleme ile uygulamanızın belirli bir görevi veya görev grubunu (ör. bir grup resmi yükleme ya da veritabanınıza sorgu gönderme) tamamlamasının ne kadar sürdüğünü ölçebilirsiniz. Özel kod izlemenin varsayılan metriği süresidir ancak önbellek isabetleri ve bellek uyarıları gibi özel metrikler de ekleyebilirsiniz.

Kodunuzda, Performance Monitoring SDK'sının sağladığı API'yi kullanarak özel kod izinin başlangıcını ve bitişini tanımlarsınız (ve istediğiniz özel metrikleri eklersiniz).

Bu özellikler ve bunları uygulamanıza nasıl ekleyeceğiniz hakkında daha fazla bilgi edinmek için Belirli kod için izleme ekleme başlıklı makaleyi inceleyin.

5. adım: Uygulamanızı dağıtın ve sonuçları inceleyin

Xcode simülatörünü ve bir veya daha fazla test cihazını kullanarak Performance Monitoring doğruladıktan sonra uygulamanızın güncellenmiş sürümünü kullanıcılarınıza dağıtabilirsiniz.

Performans verilerini Firebase konsolunun Performans kontrol panelinden izleyebilirsiniz.

Bilinen sorunlar

  • Performance Monitoring, GTMSQLite ile bilinen uyumluluk sorunlarına sahiptir. GTMSQLite kullanan uygulamalarda Performance Monitoring kullanmamanızı öneririz.
  • FirebaseApp.configure() çağrıldıktan sonraki yöntem karıştırma, Performance Monitoring SDK'sını etkileyebilir.
  • iOS 8.0-8.2 simülatörüyle ilgili bilinen sorunlar, Performance Monitoring uygulamasının performans etkinliklerini yakalamasını engelliyor. Bu sorunlar iOS 8.3 Simulator ve sonraki sürümlerde düzeltilmiştir.
  • NSURLSession'ın backgroundSessionConfiguration kullanılarak kurulan bağlantılarda beklenenden daha uzun bağlantı süreleri görülür. Bu bağlantılar işlem dışında yürütülür ve zamanlamalar işlem içi geri çağırma etkinliklerini yansıtır.

Sonraki adımlar