Apple प्लेटफ़ॉर्म के लिए प्रदर्शन मॉनिटरिंग के साथ शुरुआत करें

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

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

चरण 1 : अपने ऐप में प्रदर्शन मॉनिटरिंग जोड़ें

आपके द्वारा प्रदर्शन मॉनिटरिंग एसडीके जोड़ने के बाद, फायरबेस स्वचालित रूप से आपके ऐप के स्क्रीन रेंडरिंग के लिए डेटा, आपके ऐप के जीवनचक्र से संबंधित डेटा (जैसे ऐप प्रारंभ समय ) और HTTP/S नेटवर्क अनुरोधों के लिए डेटा एकत्र करना शुरू कर देता है।

फायरबेस निर्भरता को स्थापित और प्रबंधित करने के लिए स्विफ्ट पैकेज मैनेजर का उपयोग करें।

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

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

  1. अपने UIApplicationDelegate में FirebaseCore मॉड्यूल को आयात करें, साथ ही आपके ऐप प्रतिनिधि द्वारा उपयोग किए जाने वाले किसी भी अन्य Firebase मॉड्यूल को आयात करें। उदाहरण के लिए, क्लाउड फायरस्टोर और प्रमाणीकरण का उपयोग करने के लिए:

    स्विफ्टयूआई

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    तीव्र

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    उद्देश्य सी

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. अपने ऐप प्रतिनिधि के application(_:didFinishLaunchingWithOptions:) विधि में FirebaseApp साझा किए गए इंस्टेंस को कॉन्फ़िगर करें:

    स्विफ्टयूआई

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    तीव्र

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    उद्देश्य सी

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. यदि आप स्विफ्टयूआई का उपयोग कर रहे हैं, तो आपको एक एप्लिकेशन प्रतिनिधि बनाना होगा और इसे UIApplicationDelegateAdaptor या NSApplicationDelegateAdaptor के माध्यम से अपने App स्ट्रक्चर में संलग्न करना होगा। आपको ऐप डेलीगेट स्विज़लिंग को भी अक्षम करना होगा। अधिक जानकारी के लिए स्विफ्टयूआई निर्देश देखें।

    स्विफ्टयूआई

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. अपने ऐप को पुनः संकलित करें.

चरण 2 : प्रारंभिक डेटा प्रदर्शन के लिए प्रदर्शन ईवेंट उत्पन्न करें

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

  1. सिम्युलेटर या परीक्षण उपकरण का उपयोग करके अपना ऐप विकसित करना जारी रखें।

  2. अपने ऐप को पृष्ठभूमि और अग्रभूमि के बीच कई बार स्विच करके, स्क्रीन पर नेविगेट करके अपने ऐप के साथ इंटरैक्ट करके और/या नेटवर्क अनुरोधों को ट्रिगर करके ईवेंट उत्पन्न करें।

  3. फायरबेस कंसोल के प्रदर्शन डैशबोर्ड पर जाएं। आपको अपना प्रारंभिक डेटा कुछ ही मिनटों में प्रदर्शित होना चाहिए।

    यदि आपको अपने प्रारंभिक डेटा का प्रदर्शन नहीं दिखता है, तो समस्या निवारण युक्तियों की समीक्षा करें।

चरण 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. फायरबेस कंसोल में अपना डेटा देखने के लिए यूआरएल पर क्लिक करें। डैशबोर्ड में डेटा अपडेट होने में कुछ समय लग सकता है।

यदि आपका ऐप प्रदर्शन ईवेंट लॉग नहीं कर रहा है, तो समस्या निवारण युक्तियों की समीक्षा करें।

चरण 4 : (वैकल्पिक) विशिष्ट कोड के लिए कस्टम मॉनिटरिंग जोड़ें

अपने ऐप में विशिष्ट कोड से जुड़े प्रदर्शन डेटा की निगरानी के लिए, आप कस्टम कोड ट्रेस का उपयोग कर सकते हैं।

कस्टम कोड ट्रेस के साथ, आप माप सकते हैं कि आपके ऐप को किसी विशिष्ट कार्य या कार्यों के सेट को पूरा करने में कितना समय लगता है, जैसे छवियों का एक सेट लोड करना या आपके डेटाबेस को क्वेरी करना। कस्टम कोड ट्रेस के लिए डिफ़ॉल्ट मीट्रिक इसकी अवधि है, लेकिन आप कस्टम मीट्रिक भी जोड़ सकते हैं, जैसे कैश हिट और मेमोरी चेतावनियाँ।

अपने कोड में, आप प्रदर्शन मॉनिटरिंग एसडीके द्वारा प्रदान की गई एपीआई का उपयोग करके एक कस्टम कोड ट्रेस की शुरुआत और अंत को परिभाषित करते हैं (और कोई वांछित कस्टम मेट्रिक्स जोड़ते हैं)।

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

चरण 5 : अपना ऐप तैनात करें और फिर परिणामों की समीक्षा करें

Xcode सिम्युलेटर और एक या अधिक परीक्षण उपकरणों का उपयोग करके प्रदर्शन मॉनिटरिंग को सत्यापित करने के बाद, आप अपने ऐप के अपडेटेड संस्करण को अपने उपयोगकर्ताओं के लिए तैनात कर सकते हैं।

आप फायरबेस कंसोल के प्रदर्शन डैशबोर्ड में प्रदर्शन डेटा की निगरानी कर सकते हैं।

ज्ञात पहलु

  • प्रदर्शन मॉनिटरिंग को GTMSQLite के साथ संगतता संबंधी समस्याओं का पता चला है। हम GTMSQLite का उपयोग करने वाले ऐप्स के साथ प्रदर्शन मॉनिटरिंग का उपयोग न करने की अनुशंसा करते हैं।
  • FirebaseApp.configure() को कॉल करने के बाद मेथड स्विज़लिंग प्रदर्शन मॉनिटरिंग SDK में हस्तक्षेप कर सकता है।
  • iOS 8.0-8.2 सिम्युलेटर के साथ ज्ञात समस्याएँ प्रदर्शन मॉनिटरिंग को प्रदर्शन घटनाओं को कैप्चर करने से रोकती हैं। ये समस्याएँ iOS 8.3 सिम्युलेटर और बाद के संस्करणों में ठीक कर दी गई हैं।
  • NSURLSession के backgroundSessionConfiguration का उपयोग करके स्थापित कनेक्शन अपेक्षित कनेक्शन समय से अधिक समय तक प्रदर्शित होंगे। ये कनेक्शन प्रक्रिया से बाहर निष्पादित होते हैं और समय प्रक्रिया में कॉलबैक घटनाओं को दर्शाता है।

अगले कदम