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ı için desteklenir.

Özel ağ isteği izlemesi için varsayılan metrikler, Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izlemelerinin metrikleriyle (özellikle yanıt süresi, yanıt ve istek yükü boyutu ve başarı oranı) aynıdır. Özel ağ istek izleri, özel metrik eklemeyi desteklemiyor.

Kodunuzda, Performance Monitoring SDK'sı tarafından sağlanan API'leri kullanarak özel ağ isteği izinin başlangıç ve bitişini tanımlarsınız.

Firebase konsolunda, özel ağ isteği izleri ağ, Performance Monitoring tarafından otomatik olarak yakalanır (izler tablosunun Ağ istekleri alt sekmesinde) seçin.

Özel ağ istek izleri ekleyin

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

Performance Monitoring'te özel ağ isteklerini manuel olarak enstrümante etmek için aşağıdakine benzer bir kod ekleyin:

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.