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

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

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

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

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

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

  1. เปิดโปรเจ็กต์แอปใน Xcode แล้วไปที่ไฟล์ > เพิ่มแพ็กเกจ
  2. เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ Firebase SDK สําหรับแพลตฟอร์ม Apple ดังนี้
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. เลือกคลัง Performance Monitoring
  5. เพิ่ม Flag -ObjC ลงในส่วน Other Linker Flags ของการตั้งค่าบิลด์เป้าหมาย
  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. กำหนดค่าอินสแตนซ์ที่แชร์ในเมธอด application(_:didFinishLaunchingWithOptions:) ของตัวแทนแอป ดังนี้ FirebaseApp

    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 struct ผ่าน 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 (เวอร์ชันขั้นต่ำ v15.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 จะใช้เวลาในการเชื่อมต่อนานกว่าที่คาดไว้ การเชื่อมต่อเหล่านี้จะดำเนินการนอกกระบวนการ และเวลาจะแสดงเหตุการณ์การเรียกกลับในกระบวนการ

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