Apple प्लैटफ़ॉर्म के लिए परफ़ॉर्मेंस मॉनिटर करने की सुविधा का इस्तेमाल शुरू करना

शुरू करने से पहले

अगर आपने पहले से ऐसा नहीं किया है, तो अपने Apple प्रोजेक्ट में Firebase जोड़ें.

पहला चरण: अपने ऐप्लिकेशन में Performance Monitoring जोड़ना

Performance Monitoring SDK टूल जोड़ने के बाद, Firebase आपके ऐप्लिकेशन के लिए अपने-आप डेटा इकट्ठा करना शुरू कर देता है. जैसे, स्क्रीन रेंडरिंग का डेटा, ऐप्लिकेशन के लाइफ़साइकल से जुड़ा डेटा (जैसे, ऐप्लिकेशन शुरू होने का समय), और HTTP/S नेटवर्क अनुरोधों का डेटा.

Firebase डिपेंडेंसी इंस्टॉल और मैनेज करने के लिए, Swift Package Manager का इस्तेमाल करें.

  1. Xcode में, अपने ऐप्लिकेशन प्रोजेक्ट को खोलें. इसके बाद, File > Add Packages पर जाएं.
  2. जब आपसे कहा जाए, तब Firebase Apple प्लैटफ़ॉर्म SDK टूल की रिपॉज़िटरी जोड़ें:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Performance Monitoring लाइब्रेरी चुनें.
  5. टारगेट की बिल्ड सेटिंग के Other Linker Flags सेक्शन में -ObjC फ़्लैग जोड़ें.
  6. इसके बाद, Xcode आपके पैकेज की डिपेंडेंसी से जुड़ी समस्या को हल करना शुरू कर देगा और उन्हें बैकग्राउंड में डाउनलोड करेगा.

इसके बाद, Firebase मॉड्यूल को कॉन्फ़िगर करें:

  1. अपने UIApplicationDelegate में FirebaseCore मॉड्यूल के साथ-साथ, ऐप्लिकेशन डेलिगेट इस्तेमाल करने वाले अन्य 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 का इस्तेमाल किया जा रहा है, तो आपको एक ऐप्लिकेशन डेलिगेट बनाना होगा. साथ ही, इसे UIApplicationDelegateAdaptor या NSApplicationDelegateAdaptor के ज़रिए अपनी App स्ट्रक्चर से जोड़ना होगा. आपको ऐप्लिकेशन के डेलिगेट स्विज़लिंग को भी बंद करना होगा. ज़्यादा जानकारी के लिए, 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. अपने ऐप्लिकेशन को फिर से कंपाइल करें.

दूसरा चरण: शुरुआती डेटा डिसप्ले के लिए परफ़ॉर्मेंस इवेंट जनरेट करना

ऐप्लिकेशन में SDK टूल जोड़ने के बाद, Firebase इवेंट को प्रोसेस करना शुरू कर देता है. अगर अब भी स्थानीय तौर पर डेवलपमेंट किया जा रहा है, तो शुरुआती डेटा इकट्ठा करने और उसे प्रोसेस करने के लिए, अपने ऐप्लिकेशन का इस्तेमाल करें.

  1. सिम्युलेटर या टेस्ट डिवाइस का इस्तेमाल करके, अपने ऐप्लिकेशन को डेवलप करना जारी रखें.

  2. अपने ऐप्लिकेशन को बैकग्राउंड और फ़ोरग्राउंड के बीच कई बार स्विच करके इवेंट जनरेट करें. इसके अलावा, स्क्रीन पर नेविगेट करके अपने ऐप्लिकेशन से इंटरैक्ट करें और/या नेटवर्क अनुरोध ट्रिगर करें.

  3. Firebase कंसोल के परफ़ॉर्मेंस डैशबोर्ड पर जाएं. आपको कुछ ही मिनटों में शुरुआती डेटा दिखने लगेगा.

    अगर आपको शुरुआती डेटा नहीं दिखता है, तो समस्या हल करने से जुड़ी सलाह देखें.

तीसरा चरण: (ज़रूरी नहीं) परफ़ॉर्मेंस इवेंट के लिए लॉग मैसेज देखना

  1. डीबग लॉगिंग की सुविधा चालू करें. इसके लिए, यह तरीका अपनाएं:

    1. Xcode (कम से कम v16.2) में, Product > Scheme > Edit scheme को चुनें.
    2. बाईं ओर मौजूद मेन्यू से, Run को चुनें. इसके बाद, Arguments टैब को चुनें.
    3. Arguments Passed on Launch सेक्शन में, -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. Firebase कंसोल में अपना डेटा देखने के लिए, यूआरएल पर क्लिक करें. डैशबोर्ड में डेटा अपडेट होने में कुछ समय लग सकता है.

अगर आपका ऐप्लिकेशन परफ़ॉर्मेंस इवेंट लॉग नहीं कर रहा है, तो समस्या हल करने के सुझाव देखें.

चौथा चरण: (ज़रूरी नहीं) किसी कोड के लिए कस्टम मॉनिटरिंग जोड़ना

अपने ऐप्लिकेशन में किसी कोड से जुड़े परफ़ॉर्मेंस डेटा को मॉनिटर करने के लिए, कस्टम कोड ट्रेस को इंस्ट्रुमेंट किया जा सकता है.

कस्टम कोड ट्रेस की मदद से, यह मेज़र किया जा सकता है कि आपके ऐप्लिकेशन को कोई खास टास्क या टास्क का सेट पूरा करने में कितना समय लगता है. जैसे, इमेज का सेट लोड करना या अपने डेटाबेस को क्वेरी करना. कस्टम कोड ट्रेस के लिए डिफ़ॉल्ट मेट्रिक, उसकी अवधि होती है. हालांकि, कस्टम मेट्रिक भी जोड़ी जा सकती हैं. जैसे, कैश हिट और मेमोरी से जुड़ी चेतावनियां.

अपने कोड में, Performance Monitoring SDK टूल से मिले एपीआई का इस्तेमाल करके, कस्टम कोड ट्रेस की शुरुआत और खत्म होने का समय तय करें. साथ ही, अपनी पसंद के मुताबिक कस्टम मेट्रिक जोड़ें.

इन सुविधाओं और उन्हें अपने ऐप्लिकेशन में जोड़ने के तरीके के बारे में ज़्यादा जानने के लिए, किसी खास कोड के लिए मॉनिटरिंग की सुविधा जोड़ना पर जाएं.

पांचवां चरण: ऐप्लिकेशन को डिप्लॉय करें. इसके बाद, नतीजों की समीक्षा करें

Xcode सिम्युलेटर और एक या उससे ज़्यादा टेस्ट डिवाइसों का इस्तेमाल करके, Performance Monitoring की पुष्टि करने के बाद, अपने ऐप्लिकेशन का अपडेट किया गया वर्शन उपयोगकर्ताओं के लिए डिप्लॉय किया जा सकता है.

Firebase कंसोल के परफ़ॉर्मेंस डैशबोर्ड में जाकर, परफ़ॉर्मेंस डेटा देखा जा सकता है.

ज्ञात समस्याएं

  • Performance Monitoring को GTMSQLite के साथ काम करने में समस्याएं आती हैं. हमारा सुझाव है कि GTMSQLite का इस्तेमाल करने वाले ऐप्लिकेशन के साथ Performance Monitoring का इस्तेमाल न करें.
  • FirebaseApp.configure() को कॉल करने के बाद, मेथड स्विज़लिंग करने से Performance Monitoring SDK टूल में रुकावट आ सकती है.
  • iOS 8.0-8.2 Simulator में मौजूद समस्याओं की वजह से, Performance Monitoring परफ़ॉर्मेंस इवेंट कैप्चर नहीं कर पाता. इन समस्याओं को iOS 8.3 Simulator और इसके बाद के वर्शन में ठीक कर दिया गया है.
  • NSURLSession के backgroundSessionConfiguration का इस्तेमाल करके बनाए गए कनेक्शन में, उम्मीद से ज़्यादा समय लगेगा. ये कनेक्शन, प्रोसेस से बाहर जाकर किए जाते हैं. साथ ही, टाइमिंग में प्रोसेस में मौजूद कॉलबैक इवेंट दिखते हैं.

अगले चरण