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

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

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

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

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

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

  1. Xcode में, अपने ऐप्लिकेशन का प्रोजेक्ट खोलें. इसके बाद, फ़ाइल > पैकेज जोड़ें पर जाएं.
  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 के साथ-साथ, अपने ऐप्लिकेशन के डेलिगेट के इस्तेमाल किए जाने वाले अन्य Firebase मॉड्यूल में FirebaseCore मॉड्यूल इंपोर्ट करें. उदाहरण के लिए, 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 स्ट्रक्चर से 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. अपने ऐप्लिकेशन को फिर से कंपाइल करें.

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

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

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

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

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

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

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

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

    1. Xcode (कम से कम वर्शन 26.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 सिम्युलेटर में आने वाली समस्याओं की वजह से, Performance Monitoring परफ़ॉर्मेंस इवेंट कैप्चर नहीं कर पाता. इन समस्याओं को iOS 8.3 सिम्युलेटर और इसके बाद के वर्शन में ठीक कर दिया गया है.
  • NSURLSession के backgroundSessionConfiguration का इस्तेमाल करके बनाए गए कनेक्शन में, उम्मीद से ज़्यादा समय लग सकता है. ये कनेक्शन, आउट-ऑफ़-प्रोसेस तरीके से एक्ज़ीक्यूट होते हैं. साथ ही, इनमें लगने वाला समय, इन-प्रोसेस कॉलबैक इवेंट को दिखाता है.

अगले चरण