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. अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में -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 (कम से कम 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. 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 का इस्तेमाल करके बनाए गए कनेक्शन, कनेक्ट होने में ज़्यादा समय लेंगे. ये कनेक्शन, प्रोसेस के बाहर किए जाते हैं. साथ ही, इनके समय से प्रोसेस के दौरान होने वाले कॉलबैक इवेंट का पता चलता है.

अगले चरण