Catch up on highlights from Firebase at Google I/O 2023. Learn more

Benutzerdefinierte Überwachung für bestimmte Netzwerkanfragen hinzufügen (Apple- und Android-Apps)

Die Leistungsüberwachung sammelt Ablaufverfolgungen , um Ihnen bei der Überwachung der Leistung Ihrer App zu helfen. Eine Ablaufverfolgung ist ein Bericht von Leistungsdaten, die zwischen zwei Zeitpunkten in Ihrer App erfasst wurden.

Die von der Leistungsüberwachung automatisch erfassten Netzwerkanforderungsablaufverfolgungen umfassen die meisten Netzwerkanforderungen für Ihre App. Einige Anforderungen werden jedoch möglicherweise nicht gemeldet, oder Sie verwenden möglicherweise eine andere Bibliothek, um Netzwerkanforderungen zu stellen. In diesen Fällen können Sie die Leistungsüberwachungs-API verwenden, um benutzerdefinierte Netzwerkanforderungs-Traces manuell zu instrumentieren . Benutzerdefinierte Ablaufverfolgungen für Netzwerkanforderungen werden nur für Apple- und Android-Apps unterstützt.

Die Standardmetriken für eine benutzerdefinierte Netzwerkanforderungsablaufverfolgung sind die gleichen wie die für die Netzwerkanforderungsablaufverfolgungen, die automatisch von der Leistungsüberwachung erfasst werden, insbesondere Antwortzeit, Antwort- und Anforderungsnutzlastgröße und Erfolgsrate. Benutzerdefinierte Netzwerkanforderungsablaufverfolgungen unterstützen das Hinzufügen benutzerdefinierter Metriken nicht.

In Ihrem Code definieren Sie den Anfang und das Ende einer benutzerdefinierten Netzwerkanforderungsablaufverfolgung mithilfe der vom Performance Monitoring SDK bereitgestellten APIs.

Benutzerdefinierte Netzwerkanforderungs-Traces werden in der Firebase-Konsole neben den Netzwerkanforderungen angezeigt, die von der Leistungsüberwachung automatisch erfasst werden (auf der Unterregisterkarte Netzwerkanforderungen der Traces-Tabelle).

Fügen Sie benutzerdefinierte Netzwerkanforderungs-Traces hinzu

Verwenden Sie die Performance Monitoring HTTPMetric API ( Swift | Obj-C ), um benutzerdefinierte Netzwerkanforderungsablaufverfolgungen hinzuzufügen, um bestimmte Netzwerkanforderungen zu überwachen.

Um benutzerdefinierte Netzwerkanforderungen in der Leistungsüberwachung manuell zu instrumentieren, fügen Sie Code ähnlich dem folgenden hinzu:

Schnell

Hinweis: Dieses Firebase-Produkt ist auf macOS-, Mac Catalyst- und watchOS-Zielen nicht verfügbar.
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()

Ziel c

Hinweis: Dieses Firebase-Produkt ist auf macOS-, Mac Catalyst- und watchOS-Zielen nicht verfügbar.
@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];
}

Benutzerdefinierte Netzwerkanforderungsablaufverfolgungen unterstützen auch das Hinzufügen benutzerdefinierter Attribute ( Swift | Obj-C ), jedoch keine benutzerdefinierten Metriken.

Nächste Schritte

  • Richten Sie Warnungen für Netzwerkanfragen ein , die die Leistung Ihrer App beeinträchtigen. Sie können beispielsweise eine E-Mail-Benachrichtigung für Ihr Team konfigurieren, wenn die Antwortzeit für ein bestimmtes URL-Muster einen von Ihnen festgelegten Schwellenwert überschreitet.