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

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

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

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

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

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. अपने टारगेट की बिल्ड सेटिंग के अन्य लिंकर फ़्लैग सेक्शन में, -ObjC फ़्लैग जोड़ें.
  6. इसके बाद, Xcode बैकग्राउंड में आपकी डिपेंडेंसी से जुड़ी समस्या को हल करना और उन्हें डाउनलोड करना शुरू कर देगा.

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

अगले चरण