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

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

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

ขั้นตอนที่ 1: เพิ่ม Performance Monitoring ลงในแอป

หลังจากเพิ่ม SDK ของ Performance Monitoring แล้ว 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 ลงในส่วน Other Linker Flags ของการตั้งค่าบิลด์ของเป้าหมาย
  6. เมื่อเสร็จแล้ว Xcode จะเริ่มแก้ไขและดาวน์โหลดทรัพยากร Dependency ในเบื้องหลังโดยอัตโนมัติ

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

  1. นำเข้าโมดูล FirebaseCore ใน UIApplicationDelegate รวมถึงโมดูล Firebase อื่นๆ ที่ App Delegate ของคุณใช้ ตัวอย่างเช่น หากต้องการใช้ 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:) ของ App Delegate ดังนี้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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