Fügen Sie eine benutzerdefinierte Überwachung für bestimmte Netzwerkanforderungen hinzu (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 über Leistungsdaten, die zwischen zwei Zeitpunkten in Ihrer App erfasst wurden.

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

Die Standardmetriken für eine benutzerdefinierte Netzwerkanforderungsverfolgung sind dieselben wie für die von der Leistungsüberwachung automatisch erfassten Netzwerkanforderungsverfolgungen, insbesondere Antwortzeit, Antwort- und Anforderungsnutzlastgröße und Erfolgsrate. Benutzerdefinierte Netzwerkanforderungs-Traces unterstützen das Hinzufügen benutzerdefinierter Metriken nicht.

In Ihrem Code definieren Sie den Anfang und das Ende eines benutzerdefinierten Netzwerkanforderungs-Trace mithilfe der vom Performance Monitoring SDK bereitgestellten APIs.

Benutzerdefinierte Netzwerkanfrage-Traces werden in der Firebase-Konsole neben den Netzwerkanfragen angezeigt, die Performance Monitoring automatisch erfasst (auf der Unterregisterkarte „Netzwerkanfragen“ der Traces-Tabelle).

Fügen Sie benutzerdefinierte Netzwerkanforderungs-Traces hinzu

Verwenden Sie die Performance Monitoring HTTPMetric API ( Swift | Obj-C ), um benutzerdefinierte Netzwerkanforderungs-Traces 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 nicht auf macOS-, Mac Catalyst- und watchOS-Zielen 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 nicht auf macOS-, Mac Catalyst- und watchOS-Zielen 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 Netzwerkanforderungs-Traces unterstützen auch das Hinzufügen benutzerdefinierter Attribute ( Swift | Obj-C ), jedoch nicht benutzerdefinierter Metriken.

Nächste Schritte

  • Richten Sie Benachrichtigungen 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.