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

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

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

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

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

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

  1. เปิดโปรเจ็กต์แอปใน Xcode แล้วไปที่File > Add Packages
  2. เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ SDK ของแพลตฟอร์ม Apple ของ Firebase ดังนี้
  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 นอกจากนี้ คุณยังต้องปิดใช้การสวิซเซิลการมอบสิทธิ์ของแอปด้วย ดูข้อมูลเพิ่มเติมได้ที่วิธีการสำหรับ 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 (ขั้นต่ำ v16.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 ที่ Performance Monitoring SDK มีให้

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

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

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

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

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

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

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