Fehlersuche in Ihrer Video-Applikation
Übersicht
Dieser Leitfaden erklärt, wie Sie Ihre Videoanwendung effektiv debuggen können. Sowohl während der Entwicklung als auch nach der Bereitstellung können Sie und Ihre Endbenutzer auf Probleme stoßen. Es gibt eine Reihe von Möglichkeiten, wie Sie Fehler und Probleme mit Ihrer Anwendung aufspüren können.
Debugging während der Entwicklung
Da Videoanwendungen in einer Vielzahl von Anwendungen geschrieben werden können, hängt die Fehlersuche während der Entwicklung davon ab, in welcher Sprache Sie Ihre Anwendung geschrieben haben.
JavaScript
Protokollierung auf der Konsole
Wenn Sie Ihre Anwendung entwickeln, fügen Sie den unten stehenden Code irgendwo in Ihre Anwendung ein. Auf diese Weise erhalten Sie mehr Logging-Ausgaben auf Ihrer Konsole und können Ihr Programm besser verfolgen und verstehen, was hinter den Kulissen geschieht.
OT.setLogLevel(OT.DEBUG);
Sie können auch Nachrichten auf der Konsole protokollieren, indem Sie die Funktion OT.log() Methode:
OT.log("my session ID: " + session.sessionId);
(Aufruf OT.setLogLevel(OT.DEBUG) oder OT.setLogLevel(OT.LOG) vor dem Aufruf OT.log().)
Testen mehrerer Client-Verbindungen auf einem Rechner
Sie können einen Stream, den Sie auf derselben Browserseite veröffentlichen, nicht abonnieren. Sie können die Seite jedoch in einem zweiten Tab (oder Browserfenster) öffnen und einen Stream abonnieren, der in dem anderen Tab (oder Fenster) veröffentlicht wurde.
Verwendung von Abschlusshandlern
Bei vielen Methoden, die asynchron abgeschlossen werden, ist der letzte Parameter, den Sie übergeben, eine Abschlusshandlerfunktion. Diese Funktion wird aufgerufen, wenn die Methode abgeschlossen ist oder fehlschlägt. Wenn sie fehlschlägt, wird der Funktion ein Fehlerobjekt als Parameter übergeben.
Zum Beispiel ruft der folgende Code die Session.connect() Methode und übergibt einen Abschluss-Handler:
var session = OT.initSession(appId, session);
session.connect(token, function (error) {
if (error) {
if (error.name === "OT_NOT_CONNECTED") {
alert("You are not connected to the internet. Check your network connection.");
}
console.log("Failed to connect: ", error.message);
} else {
console.log("Connected");
}
});
Weitere Informationen finden Sie unter Behandlung von Ausnahmen.
Meldung eines Problems
Sie können die OT.reportIssue() Methode, um programmatisch zu melden, wenn in Ihrer Anwendung ein Problem auftritt. Diese Methode liefert Ihnen eine Problem-ID, die Sie mit der Methode Sitzungsinspektor oder wenn Sie das Problem mit dem Vonage API-Supportteam besprechen.
OT.reportIssue(function(error, issueId) {
if (error) {
console.log(error);
} else {
console.log(issueId);
// You may want to use XMLHttpRequest to report this issue ID to a server
// that can store it in a database for later reference.
}
});
Die OT.reportIssue() Methode nimmt einen Parameter entgegen, eine Abschlusshandlerfunktion, die aufgerufen wird, wenn der Aufruf von OT.reportIssue() erfolgreich ist oder fehlschlägt. Die Funktion "completion handler" hat zwei Parameter.
Der erste Parameter ist ein Fehlerobjekt, das gesetzt wird, wenn der Aufruf der reportIssue() Methode fehlschlägt (z. B. wenn der Client nicht mit dem Netz verbunden ist) oder null wenn der Aufruf der reportIssue() Methode erfolgreich ist. Der zweite Parameter wird auf die gemeldete Problem-ID (eine eindeutige Zeichenfolge) gesetzt, wenn der Aufruf erfolgreich war.
Java
Ein Problem melden
Sie können die Session.reportIssue() Methode, um programmatisch zu melden, wenn in Ihrer Anwendung ein Problem auftritt. Diese Methode liefert Ihnen eine Problem-ID, die Sie mit der Methode Inspektor oder wenn Sie das Problem mit dem Vonage API-Supportteam besprechen.
String issueId = session.reportIssue();
Möglicherweise möchten Sie die Problem-ID an einen Server senden, der sie in einer Datenbank zur späteren Bezugnahme speichern kann.
Objektiv-C
Ein Problem melden
Sie können die OTSession reportIssue() Methode, um programmatisch zu melden, wenn in Ihrer Anwendung ein Problem auftritt. Diese Methode liefert Ihnen eine Problem-ID, die Sie mit der Methode Inspektor oder wenn Sie das Problem mit dem Vonage API-Supportteam besprechen.
OTError* issueId = nil;
[mySession reportIssue:&issueId];
if (issueId) {
NSLog(@"Report issue ID: %@", issueId);
}
Die issueId ist ein Zeiger auf eine Zeichenkette, die als eindeutiger Bezeichner für das gemeldete Problem festgelegt wird. Schlägt der Aufruf der Methode fehl (z. B. wegen einer fehlenden Netzwerkverbindung), wird dieser Wert auf null gesetzt.
Möglicherweise möchten Sie die Problem-ID an einen Server senden, der sie in einer Datenbank zur späteren Bezugnahme speichern kann.
React Native
Abhören von Ausnahmeereignissen
Um alle Ausnahmeereignisse zu erkennen, fügen Sie einen Ereignishandler für otrnError und error Veranstaltungen:
<OTSession
applicationId={this.apiKey}
sessionId={this.sessionId}
token={this.token}
eventHandlers={{
sessionConnected: event => {
console.log('session connected', event);
},
error: event => {
console.log('error', event);
},
otrnError: event => {
console.log('otrnError', event);
},
};}>
{ /* ... */ }
</OTSession>
Meldung eines Problems
Sie können die reportIssue() Methode des OTSession-Objekts, um programmatisch zu melden, wenn in Ihrer Anwendung ein Problem auftritt. Diese Methode gibt Promise zurück, das mit einer Problem-ID (String) aufgelöst wird, die Sie mit der Inspektor-Werkzeug oder an das Vonage API-Supportteam.
// otSessionRef is an OTSession ref
otSessionRef.reportIssue()
.then((issueId) => console.log(issueId));
// You may want to use XMLHttpRequest to report this issue ID to a server
// that can store it in a database for later reference.
Schnell
Ein Problem melden
Sie können die OTSession reportIssue(_:) Methode, um programmatisch zu melden, wenn in Ihrer Anwendung ein Problem auftritt. Diese Methode liefert Ihnen eine Problem-ID, die Sie mit der Methode Inspektor oder wenn Sie das Problem mit dem Vonage API-Supportteam besprechen.
var issueId: OTError?
mySession.reportIssue(&issueID)
if (issueId) {
print("Report issue ID: \(issueId)")
}
Die issueId ist ein Zeiger auf eine Zeichenkette, die als eindeutiger Bezeichner für das gemeldete Problem festgelegt wird. Schlägt der Aufruf der Methode fehl (z. B. wegen einer fehlenden Netzwerkverbindung), wird dieser Wert auf null gesetzt.
Möglicherweise möchten Sie die Problem-ID an einen Server senden, der sie in einer Datenbank zur späteren Bezugnahme speichern kann.
Nutzung des Spielplatzes
Die Vonage Video API Spielplatz können Sie einfach eine Verbindung zu einer Sitzung in einem Web-Client herstellen. Dies kann beim Debuggen einer App nützlich sein, die das Vonage Video React Native SDK (oder ein anderes Client SDK) verwendet.
Einzelheiten finden Sie in der Dokumentation zum Spielplatz.
Fehlersuche mit Inspector
Die Sitzungsinspektor Tool liefert Post-Mortem-Diagnoseinformationen über Vonage Video-Sitzungen. Geben Sie eine Sitzungs-ID oder eine gemeldete Problem-ID in Inspector ein, um Rohinformationen auf Stream- und Benutzerebene anzuzeigen, die Ihnen helfen, Fehler, Ausfälle und Qualitätsprobleme zu erkennen.