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

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

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

ขั้นตอนที่ 1: เพิ่มการตรวจสอบประสิทธิภาพลงในแอป

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

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

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

    • 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: ทำให้แอปใช้งานได้ จากนั้นตรวจสอบผลลัพธ์

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

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

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

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

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