เริ่มต้นใช้งาน Performance Monitoring สำหรับแพลตฟอร์ม Apple

ก่อนเริ่มต้น

เพิ่ม Firebase ลงในโปรเจ็กต์ Apple หากยังไม่ได้ทำ

ขั้นตอนที่ 1: เพิ่มการตรวจสอบประสิทธิภาพลงในแอป

หลังจากที่คุณเพิ่ม Performance Monitoring SDK แล้ว Firebase จะเริ่มรวบรวมข้อมูลสำหรับการแสดงผลหน้าจอของแอป ข้อมูลที่เกี่ยวข้องกับวงจรของแอป (เช่น เวลาเริ่มต้นแอป) และข้อมูลสำหรับคำขอเครือข่าย HTTP/S โดยอัตโนมัติ

ใช้ Swift Package Manager เพื่อติดตั้งและจัดการทรัพยากร Dependency ของ Firebase

  1. เปิดโปรเจ็กต์แอปใน Xcode แล้วไปที่ไฟล์ > เพิ่มแพ็กเกจ
  2. เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ SDK สำหรับแพลตฟอร์ม Firebase ของ Apple ดังนี้
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. เลือกไลบรารี Performance Monitoring
  5. เพิ่มแฟล็ก -ObjC ลงในส่วนแฟล็ก Linker อื่นๆ ของการตั้งค่าบิลด์ของเป้าหมาย
  6. เมื่อเสร็จสิ้นแล้ว Xcode จะเริ่มแก้ปัญหาและดาวน์โหลดทรัพยากร Dependency ในเบื้องหลังโดยอัตโนมัติ

ถัดไป ให้กำหนดค่าโมดูล Firebase ดังนี้

  1. นำเข้าโมดูล FirebaseCore ใน UIApplicationDelegate รวมถึงโมดูล Firebase อื่นๆ ที่ผู้รับมอบสิทธิ์แอปใช้ เช่น วิธีใช้ Cloud Firestore และ 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. กำหนดค่าอินสแตนซ์ที่แชร์ของ FirebaseApp ในเมธอด application(_:didFinishLaunchingWithOptions:) ของตัวแทนแอป ดังนี้

    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 คุณต้องสร้างการมอบสิทธิ์แอปพลิเคชันและแนบการมอบสิทธิ์กับโครงสร้าง App ผ่าน UIApplicationDelegateAdaptor หรือ NSApplicationDelegateAdaptor คุณต้องปิดใช้ SWizzing ที่มอบสิทธิ์ของแอปด้วย ดูข้อมูลเพิ่มเติมได้ที่วิธีการของ 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. คอมไพล์แอปอีกครั้ง

ขั้นตอนที่ 2: สร้างเหตุการณ์ด้านประสิทธิภาพเพื่อแสดงข้อมูลเริ่มต้น

Firebase จะเริ่มประมวลผลเหตุการณ์เมื่อคุณเพิ่ม SDK ลงในแอปเรียบร้อยแล้ว หากคุณยังพัฒนาในเครื่อง ให้โต้ตอบกับแอปเพื่อสร้างเหตุการณ์สำหรับการเก็บรวบรวมและประมวลผลข้อมูลเริ่มต้น

  1. พัฒนาแอปต่อโดยใช้เครื่องจำลองหรืออุปกรณ์ทดสอบ

  2. สร้างเหตุการณ์โดยสลับแอปไปมาระหว่างการเล่นขณะล็อกหน้าจอหรือขณะใช้แอปอื่นหลายๆ ครั้ง การโต้ตอบกับแอปด้วยการไปยังหน้าจอต่างๆ และ/หรือเรียกใช้คำขอของเครือข่าย

  3. ไปที่หน้าแดชบอร์ดประสิทธิภาพของคอนโซล Firebase คุณจะเห็นข้อมูลเริ่มต้นแสดง ภายในไม่กี่นาที

    หากไม่เห็นการแสดงข้อมูลเริ่มต้น ให้อ่านเคล็ดลับการแก้ปัญหา

ขั้นตอนที่ 3: (ไม่บังคับ) ดูข้อความบันทึกสำหรับเหตุการณ์ด้านประสิทธิภาพ

  1. เปิดใช้การบันทึกการแก้ไขข้อบกพร่อง ดังนี้

    1. ใน Xcode (ขั้นต่ำ v14.1) ให้เลือกผลิตภัณฑ์ > รูปแบบ > แก้ไขรูปแบบ
    2. เลือกเรียกใช้จากเมนูด้านซ้าย แล้วเลือกแท็บอาร์กิวเมนต์
    3. ในส่วนอาร์กิวเมนต์ที่ผ่านเมื่อเปิดตัว ให้เพิ่ม -FIRDebugEnabled
  2. ตรวจสอบข้อความบันทึกของคุณเพื่อหาข้อความแสดงข้อผิดพลาด

  3. การตรวจสอบประสิทธิภาพจะติดแท็กข้อความบันทึกด้วย Firebase/Performance เพื่อให้คุณกรองข้อความบันทึกได้

  4. ตรวจหาบันทึกประเภทต่อไปนี้ซึ่งระบุว่าการตรวจสอบประสิทธิภาพกำลังบันทึกเหตุการณ์ด้านประสิทธิภาพ

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. คลิก URL เพื่อดูข้อมูลในคอนโซล Firebase ระบบอาจใช้เวลา 2-3 นาทีในการอัปเดตข้อมูลในหน้าแดชบอร์ด

หากแอปไม่บันทึกเหตุการณ์ด้านประสิทธิภาพ ให้อ่านเคล็ดลับการแก้ปัญหา

ขั้นตอนที่ 4: (ไม่บังคับ) เพิ่มการตรวจสอบที่กําหนดเองสําหรับโค้ดที่ต้องการ

หากต้องการตรวจสอบข้อมูลประสิทธิภาพที่เชื่อมโยงกับโค้ดที่ต้องการในแอป ให้ใช้การติดตามโค้ดที่กำหนดเอง

การติดตามโค้ดที่กำหนดเองช่วยให้คุณวัดระยะเวลาที่แอปใช้ในการทำงานหรือชุดงานที่เฉพาะเจาะจง เช่น การโหลดชุดรูปภาพหรือค้นหาฐานข้อมูล เมตริกเริ่มต้นสำหรับการติดตามโค้ดที่กำหนดเองคือระยะเวลาของเมตริกนั้น แต่คุณยังสามารถเพิ่มเมตริกที่กำหนดเอง เช่น การพบแคชและคำเตือนหน่วยความจำ

ในโค้ด คุณจะต้องกำหนดจุดเริ่มต้นและจุดสิ้นสุดของการติดตามโค้ดที่กำหนดเอง (และเพิ่มเมตริกที่กำหนดเองที่ต้องการ) โดยใช้ API ที่ Performance Monitoring SDK ให้ไว้

ไปที่เพิ่มการตรวจสอบโค้ดที่ต้องการ เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์เหล่านี้และวิธีเพิ่มลงในแอป

ขั้นตอนที่ 5: ทำให้แอปใช้งานได้ จากนั้นตรวจสอบผลลัพธ์

หลังจากที่คุณตรวจสอบประสิทธิภาพการตรวจสอบโดยใช้เครื่องจำลอง Xcode และอุปกรณ์ทดสอบอย่างน้อย 1 รายการแล้ว คุณจะทำให้แอปเวอร์ชันอัปเดตใช้งานได้สำหรับผู้ใช้

คุณตรวจสอบข้อมูลประสิทธิภาพได้ในแดชบอร์ดประสิทธิภาพของคอนโซล Firebase

ปัญหาที่ทราบ

  • การตรวจสอบประสิทธิภาพมีปัญหาด้านความเข้ากันได้กับ GTMSQLite ที่ทราบแล้ว ขอแนะนำว่าอย่าใช้การตรวจสอบประสิทธิภาพกับแอปที่ใช้ GTMSQLite
  • การเลื่อนเมธอดหลังจากเรียกใช้ FirebaseApp.configure() อาจรบกวน Performance Monitoring SDK ได้
  • ปัญหาที่ทราบเกี่ยวกับเครื่องจำลอง iOS 8.0-8.2 ทำให้การตรวจสอบประสิทธิภาพไม่สามารถจับเหตุการณ์ด้านประสิทธิภาพได้ ปัญหาเหล่านี้ได้รับการแก้ไขแล้วใน iOS 8.3 Simulator และเวอร์ชันที่ใหม่กว่า
  • การเชื่อมต่อที่สร้างขึ้นโดยใช้ backgroundSessionConfiguration ของ NSURLSession จะแสดงเวลาการเชื่อมต่อนานกว่าที่คาดไว้ การเชื่อมต่อเหล่านี้จะทำงานนอกกระบวนการและช่วงเวลาจะแสดงเหตุการณ์ Callback ในกระบวนการ

ขั้นตอนถัดไป