Mulai Menggunakan Performance Monitoring untuk platform Apple

Sebelum memulai

Jika belum, tambahkan Firebase ke project Apple Anda.

Langkah 1: Menambahkan Performance Monitoring ke aplikasi Anda

Setelah Anda menambahkan Performance Monitoring SDK, Firebase akan otomatis mulai mengumpulkan data untuk rendering layar aplikasi, data yang terkait dengan siklus proses aplikasi (seperti waktu mulai aplikasi), dan data untuk permintaan jaringan HTTP/S.

Gunakan Swift Package Manager untuk menginstal dan mengelola dependensi Firebase.

  1. Di Xcode, dengan project aplikasi Anda dalam keadaan terbuka, buka File > Add Packages.
  2. Saat diminta, tambahkan repositori SDK platform Apple Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Pilih library Performance Monitoring.
  5. Tambahkan flag -ObjC ke bagian Other Linker Flags pada setelan build target Anda.
  6. Setelah selesai, Xcode akan otomatis mulai me-resolve dan mendownload dependensi Anda di latar belakang.

Selanjutnya, konfigurasikan modul Firebase:

  1. Impor modul FirebaseCore dalam UIApplicationDelegate Anda, serta semua modul Firebase lainnya yang digunakan oleh delegasi aplikasi Anda. Misalnya, untuk menggunakan Cloud Firestore dan Authentication:

    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. Konfigurasikan instance bersama FirebaseApp di metode application(_:didFinishLaunchingWithOptions:) delegasi aplikasi Anda:

    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. Jika menggunakan SwiftUI, Anda harus membuat delegasi aplikasi dan menambahkannya ke struct App melalui UIApplicationDelegateAdaptor atau NSApplicationDelegateAdaptor. Anda juga harus menonaktifkan swizzling delegasi aplikasi. Untuk mengetahui informasi lebih lanjut, baca petunjuk SwiftUI.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. Kompilasi ulang aplikasi Anda.

Langkah 2: Membuat peristiwa performa untuk tampilan data awal

Firebase mulai memproses peristiwa saat Anda berhasil menambahkan SDK ke aplikasi. Jika Anda masih melakukan pengembangan secara lokal, lakukan interaksi dengan aplikasi guna menghasilkan peristiwa untuk pengumpulan dan pemrosesan data awal.

  1. Lanjutkan pengembangan aplikasi menggunakan simulator atau perangkat uji.

  2. Hasilkan peristiwa dengan mengalihkan aplikasi dari latar belakang ke latar depan dan sebaliknya beberapa kali, berinteraksi dengan aplikasi Anda dengan berpindah-pindah dari layar ke layar, dan/atau memicu permintaan jaringan.

  3. Buka dasbor Performance di Firebase console. Anda akan melihat tampilan data awal dalam beberapa menit.

    Jika Anda tidak melihat tampilan data awal, lihat tips pemecahan masalah.

Langkah 3: (Opsional) Melihat pesan log untuk peristiwa performa

  1. Aktifkan logging debug seperti berikut:

    1. Di Xcode (minimum v15.2), pilih Product > Scheme > Edit scheme.
    2. Pilih Run dari menu kiri, lalu pilih tab Arguments.
    3. Di bagian Arguments Passed on Launch, tambahkan -FIRDebugEnabled.
  2. Periksa apakah ada pesan error di pesan log Anda.

  3. Performance Monitoring menandai pesan lognya dengan Firebase/Performance sehingga Anda dapat memfilter pesan log.

  4. Cari jenis log berikut yang menunjukkan bahwa Performance Monitoring mencatat peristiwa performa ke dalam log:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Klik URL untuk melihat data Anda di Firebase console. Mungkin perlu waktu beberapa saat sampai data diperbarui di dasbor.

Jika aplikasi Anda tidak mencatat peristiwa performa ke dalam log, baca tips pemecahan masalah.

Langkah 4: (Opsional) Menambahkan pemantauan kustom untuk kode tertentu

Untuk memantau data performa yang terkait dengan kode tertentu di aplikasi, Anda dapat menginstrumentasikan trace kode kustom.

Dengan trace kode kustom, Anda dapat mengukur durasi yang dibutuhkan aplikasi untuk menyelesaikan satu atau serangkaian tugas tertentu, seperti memuat kumpulan gambar atau membuat kueri untuk database. Metrik default untuk trace kode kustom adalah durasinya, tetapi Anda juga dapat menambahkan metrik kustom, seperti cache ditemukan dan peringatan memori.

Dalam kode, Anda dapat menentukan awal dan akhir trace kode kustom (dan menambahkan metrik kustom yang diinginkan) menggunakan API yang disediakan oleh Performance Monitoring SDK.

Baca artikel Menambahkan pemantauan untuk kode tertentu untuk mempelajari lebih lanjut fitur ini dan cara menambahkannya ke aplikasi Anda.

Langkah 5: Men-deploy aplikasi Anda, lalu meninjau hasilnya

Setelah memvalidasi Performance Monitoring menggunakan simulator Xcode dan satu atau beberapa perangkat uji, Anda dapat men-deploy versi terbaru aplikasi kepada pengguna.

Anda dapat memantau data performa di dasbor Performance dari Firebase console.

Masalah umum

  • Performance Monitoring memiliki masalah kompatibilitas umum dengan GTMSQLite. Sebaiknya jangan menggunakan Performance Monitoring dengan aplikasi yang menggunakan GTMSQLite.
  • Method swizzling setelah memanggil FirebaseApp.configure() dapat mengganggu Performance Monitoring SDK.
  • Masalah umum pada iOS 8.0-8.2 Simulator membuat Performance Monitoring tidak dapat merekam peristiwa performa. Masalah ini telah diperbaiki pada iOS 8.3 Simulator dan versi yang lebih baru.
  • Koneksi yang dibuat menggunakan backgroundSessionConfiguration NSURLSession akan menampilkan waktu koneksi yang lebih lama dari yang diperkirakan. Koneksi ini dijalankan di luar proses dan waktunya mencerminkan peristiwa callback dalam proses.

Langkah berikutnya