Catch up on highlights from Firebase at Google I/O 2023. Learn more

Apple platformları için Performans İzlemeyi kullanmaya başlayın

Sen başlamadan önce

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

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

Performance Monitoring SDK'yı ekledikten sonra, Firebase otomatik olarak uygulamanızın ekran oluşturması için verileri, uygulamanızın yaşam döngüsüyle ilgili verileri ( uygulama başlangıç ​​zamanı gibi) ve HTTP/S ağ istekleri için verileri toplamaya başlar.

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. Performans İzleme kitaplığını seçin.
  5. 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. UIApplicationDelegate uygulamanıza FirebaseCore modülünü ve uygulama temsilcinizin kullandığı diğer Firebase modüllerini içe aktarın. Örneğin, Cloud Firestore ve Authentication'ı kullanmak için:

    SwiftUI

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

    Süratli

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Amaç-C

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

    SwiftUI

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

    Süratli

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

    Amaç-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. SwiftUI kullanıyorsanız, bir uygulama temsilcisi oluşturmalı ve bunu UIApplicationDelegateAdaptor veya NSApplicationDelegateAdaptor aracılığıyla App yapınıza eklemelisiniz. Uygulama temsilcisi swizzling'i de devre dışı bırakmalısınız. 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.

Adım 2 : İlk veri gösterimi için performans olayları oluşturun

SDK'yı uygulamanıza başarıyla eklediğinizde Firebase olayları işlemeye başlar. Hâlâ yerel olarak geliştiriyorsanız, ilk veri toplama ve işlemeye yönelik etkinlikler oluşturmak için uygulamanızla etkileşime geçin.

  1. Bir 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 ve/veya ağ isteklerini tetikleyerek uygulamanızla etkileşim kurarak olaylar oluşturun.

  3. Firebase konsolunun Performans panosuna gidin. İlk veri ekranınızı birkaç dakika içinde görmelisiniz.

    İlk verilerinizin bir görüntüsünü görmüyorsanız, sorun giderme ipuçlarını gözden geçirin.

3. Adım : (İsteğe bağlı) Performans etkinlikleri için günlük mesajlarını görüntüleyin

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

    1. Xcode'da (minimum v13.3.1), Product > Scheme > Edit layout öğesini seçin.
    2. Soldaki menüden Çalıştır'ı seçin, ardından Argümanlar sekmesini seçin.
    3. Başlatma Sırasında Geçirilen Argümanlar bölümünde, -FIRDebugEnabled ekleyin.
  2. Herhangi bir hata mesajı için günlük mesajlarınızı kontrol edin.

  3. Performance Monitoring, günlük mesajlarını filtreleyebilmeniz için günlük mesajlarını Firebase/Performance ile etiketler.

  4. Performance Monitoring'in performans olaylarını 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 olaylarını günlüğe kaydetmiyorsa sorun giderme ipuçlarını inceleyin.

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

Uygulamanızdaki belirli kodla ilişkili performans verilerini izlemek için özel kod izlemeleri kullanabilirsiniz.

Özel bir kod izleme ile, uygulamanızın belirli bir görevi veya bir dizi görüntüyü yükleme veya veritabanınızı sorgulama gibi bir dizi görevi tamamlamasının ne kadar sürdüğünü ölçebilirsiniz. Özel bir kod izleme için varsayılan ölçüm süresidir, ancak önbellek isabetleri ve bellek uyarıları gibi özel ölçümler de ekleyebilirsiniz.

Kodunuzda, Performance Monitoring SDK tarafından sağlanan API'yi kullanarak özel bir kod izlemenin başlangıcını ve sonunu tanımlarsınız (ve istediğiniz özel ölçümleri 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 sayfasını ziyaret edin.

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

Xcode simülatörünü ve bir veya daha fazla test cihazını kullanarak Performance Monitoring'i 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 panelinde izleyebilirsiniz.

Bilinen Sorunlar

  • Performance Monitoring, GTMSQLite ile bilinen uyumluluk sorunlarına sahiptir. Performans İzlemeyi GTMSQLite kullanan uygulamalarla kullanmamanızı öneririz.
  • FirebaseApp.configure() çağrıldıktan sonra yöntem swizzling, Performance Monitoring SDK ile çakışabilir.
  • iOS 8.0-8.2 Simulator ile ilgili bilinen sorunlar, Performance Monitoring'in performans olaylarını yakalamasını engeller. Bu sorunlar, iOS 8.3 Simulator ve sonraki sürümlerde giderilmiştir.
  • NSURLSession'ın backgroundSessionConfiguration kullanılarak kurulan bağlantılar, beklenenden daha uzun bağlantı süreleri sergileyecektir. Bu bağlantılar işlem dışı yürütülür ve zamanlamalar, işlem içi geri çağırma olaylarını yansıtır.

Sonraki adımlar