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, manuel ödeme yapmak için Performance Monitoring API'yi ö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, Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izleri, özellikle 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 Performance Monitoring SDK'sı tarafından sağlanan API'leri kullanarak izler.

Özel ağ isteği izleri, Performance Monitoring'ın otomatik olarak yakaladığı ağ isteklerinin yanında Firebase konsolunda görünür (izlemeler tablosunun Ağ istekleri alt sekmesinde).

Özel ağ istek izleri ekleyin

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

Performance Monitoring içinde özel ağ isteklerini manuel olarak düzenlemek için 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

  • Uygulamanızın performansını düşüren ağ istekleri için uyarılar oluşturun. Örneğin, belirli bir URL kalıbının tepki süresi, belirlediğiniz bir eşiği aşarsa ekibiniz için bir e-posta uyarısı yapılandırabilirsiniz.