了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

विशिष्ट नेटवर्क अनुरोधों के लिए कस्टम निगरानी जोड़ें (Apple और Android ऐप्स)

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

प्रदर्शन निगरानी द्वारा स्वचालित रूप से एकत्र किए गए नेटवर्क अनुरोध के निशान में आपके ऐप के लिए अधिकांश नेटवर्क अनुरोध शामिल हैं। हालाँकि, कुछ अनुरोधों की रिपोर्ट नहीं की जा सकती है या आप नेटवर्क अनुरोध करने के लिए किसी भिन्न लाइब्रेरी का उपयोग कर सकते हैं। इन मामलों में, आप मैन्युअल रूप से कस्टम नेटवर्क अनुरोध ट्रेस करने के लिए प्रदर्शन निगरानी API का उपयोग कर सकते हैं। कस्टम नेटवर्क अनुरोध ट्रेस केवल Apple और Android ऐप्स के लिए समर्थित हैं।

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

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

कस्टम नेटवर्क अनुरोध के निशान Firebase कंसोल में नेटवर्क अनुरोधों के साथ दिखाई देते हैं जो प्रदर्शन मॉनिटरिंग स्वचालित रूप से कैप्चर करता है (निशान तालिका के नेटवर्क अनुरोध उपटैब में)।

कस्टम नेटवर्क अनुरोध ट्रेस जोड़ें

विशिष्ट नेटवर्क अनुरोधों की निगरानी के लिए कस्टम नेटवर्क अनुरोध अंश जोड़ने के लिए प्रदर्शन मॉनिटरिंग HTTPMetric API ( स्विफ्ट | ओब्ज-सी ) का उपयोग करें।

प्रदर्शन मॉनिटरिंग में मैन्युअल रूप से कस्टम नेटवर्क अनुरोध करने के लिए, निम्न के जैसा कोड जोड़ें:

तीव्र

नोट: यह फायरबेस उत्पाद macOS, Mac Catalyst, watchOS लक्ष्यों पर उपलब्ध नहीं है।
guard let metric = HTTPMetric(url: "https://www.google.com", httpMethod: .get) else { return }

metric.start()
guard let url = URL(string: "https://www.google.com") else { return }
let request: URLRequest = URLRequest(url:url)
let session = URLSession(configuration: .default)
let dataTask = session.dataTask(with: request) { (urlData, response, error) in
        if let httpResponse = response as? HTTPURLResponse {
         metric.responseCode = httpResponse.statusCode
        }
        metric.stop()
}
dataTask.resume()

उद्देश्य सी

नोट: यह फायरबेस उत्पाद macOS, Mac Catalyst, watchOS लक्ष्यों पर उपलब्ध नहीं है।
@property (nonatomic) FIRHTTPMetric *metric;

- (void)beginManualNetworkInstrumentation {
  self.metric =
      [[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@"https://www.google.com"]
                              HTTPMethod:FIRHTTPMethodGET];

  [self.metric start];

  NSURLRequest *request =
      [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]];
  NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
                                                                delegate:self];
  [connection resume];
}

- (void)connection:(NSURLConnection *)connection
    didReceiveResponse:(NSURLResponse *) response {
  NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response
  self.metric.responseCode = httpResponse.statusCode;
  [self.metric stop];
}

कस्टम नेटवर्क अनुरोध के निशान भी कस्टम विशेषताओं ( स्विफ्ट | ओब्ज-सी ) को जोड़ने का समर्थन करते हैं, लेकिन कस्टम मेट्रिक्स का नहीं।

अगले कदम

  • नेटवर्क अनुरोधों के लिए अलर्ट सेट करें जो आपके ऐप के प्रदर्शन को खराब कर रहे हैं। उदाहरण के लिए, यदि किसी विशिष्ट URL पैटर्न के लिए प्रतिक्रिया समय आपके द्वारा निर्धारित सीमा से अधिक हो जाता है, तो आप अपनी टीम के लिए एक ईमेल अलर्ट कॉन्फ़िगर कर सकते हैं।