เริ่มต้นใช้งาน 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) ให้เลือก Product > Scheme > Edit Scheme
    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 Simulator และเวอร์ชันที่ใหม่กว่า
  • การเชื่อมต่อที่จัดตั้งขึ้นโดยใช้ backgroundSessionConfiguration ของ NSURLSession จะใช้เวลาในการเชื่อมต่อนานกว่าที่คาดไว้ การเชื่อมต่อเหล่านี้จะดำเนินการนอกกระบวนการ และเวลาจะแสดงเหตุการณ์การเรียกกลับในกระบวนการ

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