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

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

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

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

หลังจากเพิ่ม 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 (เวอร์ชันขั้นต่ำ 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 อาจใช้เวลา 2-3 รอให้ข้อมูลอัปเดตในหน้าแดชบอร์ด

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

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

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

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

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

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

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

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

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

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

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

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