Belirli ağ istekleri için özel izleme ekleme (Apple ve Android uygulamaları)

Performance Monitoring, uygulamanızın performansını izlemenize yardımcı olmak için izleri toplar. CEVAP iz, zaman içinde iki nokta arasında toplanan performans verilerinin en iyi şekilde yararlanabilirsiniz.

İlgili içeriği oluşturmak için kullanılan Performance Monitoring tarafından otomatik olarak toplanan ağ istek izleri dahil etmeniz gerekir. Ancak bazı istekler olabilir veya ağ isteklerinde bulunmak için farklı bir kitaplık kullanabilirsiniz. Bu durumlarda, araçları manuel olarak izlemek için Performance Monitoring API'sini özel ağ isteği izleri. Özel ağ isteği izleri yalnızca Apple ve Android uygulamalarında desteklenir.

Özel bir ağ isteği izlemesinin varsayılan metrikleri, Performans İzleme tarafından otomatik olarak toplanan ağ isteği izleri, özellikle de yanıt süresi, yanıt ve istek yükü boyutu ve başarı oranı. Özel ağ istek izleri özel metrik eklemeyi desteklemiyor.

Kodunuzda özel bir ağ isteğinin başlangıcını ve sonunu tanımlarsınız performans izleme SDK'sı tarafından sağlanan API'leri kullanarak izler.

Firebase konsolunda, Performance Monitoring'in otomatik olarak yakaladığı ağ istekleri (izler tablosunun Ağ istekleri alt sekmesinde) seçin.

Özel ağ istek izleri ekleyin

Performance Monitoring HTTPMetric API'yi kullanma (Swift | Obj-C) özel ağ isteği izleri ekleyin.

Performance Monitoring'de özel ağ isteklerini manuel olarak izlemek için aşağıdakine benzer bir kod ekleyin: şunlara:

Swift

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
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()

Objective-C

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
@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];
}

Özel ağ istek izleri, özel özelliklerin eklenmesini de destekler (Swift | Obj-C) ancak özel metrikleri değil.

Sonraki adımlar

  • Kalitesi düşen ağ istekleri için uyarı ayarlarını yapma en iyi uygulamaları paylaşacağız. Örneğin, şunun için bir e-posta uyarısı yapılandırabilirsiniz: belirli bir URL kalıbı için yanıt süresi ne kadar zaman ayırabileceğinizi göstereceğim.