Débogage de votre application vidéo
Vue d'ensemble
Ce guide explique comment déboguer efficacement votre application vidéo. Pendant le développement et après le déploiement, vous et vos utilisateurs finaux pouvez rencontrer des problèmes. Vous disposez de plusieurs moyens pour vous aider à repérer les bogues et les problèmes liés à votre application.
Débogage pendant le développement
Étant donné que les applications vidéo peuvent être écrites dans une variété d'applications, le débogage pendant le développement dépendra du langage dans lequel vous avez écrit votre application.
JavaScript
Connexion à la console
Lorsque vous développez votre application, placez le code ci-dessous quelque part dans votre application. Vous obtiendrez ainsi plus de données de journalisation sur votre console, ce qui vous permettra de mieux tracer votre programme et de comprendre ce qui se passe en coulisses.
OT.setLogLevel(OT.DEBUG);
Vous pouvez également enregistrer des messages sur la console en appelant la fonction OT.log() méthode :
OT.log("my session ID: " + session.sessionId);
(Appel OT.setLogLevel(OT.DEBUG) ou OT.setLogLevel(OT.LOG) avant d'appeler OT.log().)
Tester plusieurs connexions de clients sur une même machine
Vous ne pouvez pas vous abonner à un flux que vous publiez dans la même page de navigateur. Toutefois, vous pouvez ouvrir la page dans un deuxième onglet (ou fenêtre de navigateur) et vous abonner à un flux publié dans l'autre onglet (ou fenêtre).
Utilisation de gestionnaires d'achèvement
Pour de nombreuses méthodes qui se terminent de manière asynchrone, le dernier paramètre que vous passez est une fonction de gestion de l'achèvement. Cette fonction est appelée lorsque la méthode se termine ou échoue. En cas d'échec, un objet d'erreur est transmis à la fonction en tant que paramètre.
Par exemple, le code suivant appelle la fonction Session.connect() en transmettant un gestionnaire d'achèvement :
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");
}
});
Pour plus d'informations, voir Traitement des exceptions.
Signaler un problème
Vous pouvez appeler le OT.reportIssue() pour signaler par programme les problèmes rencontrés par votre application. Cette méthode vous fournit un numéro d'identification du problème, que vous pouvez utiliser avec la méthode Inspecteur de session ou en discutant du problème avec l'équipe de soutien de l'API de Vonage.
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.
}
});
Les OT.reportIssue() prend un paramètre, une fonction de traitement d'achèvement, qui est appelée lorsque l'appel à la méthode OT.reportIssue() réussit ou échoue. La fonction de gestion de l'achèvement a deux paramètres.
Le premier paramètre est un objet d'erreur qui est défini lorsque l'appel à la fonction reportIssue() échoue (par exemple, si le client n'est pas connecté au réseau) ou que la méthode null lorsque l'appel au reportIssue() réussit. Le deuxième paramètre correspond à l'identifiant du problème signalé (une chaîne de caractères unique) lorsque l'appel aboutit.
Java
Signaler un problème
Vous pouvez appeler le Session.reportIssue() pour signaler par programme les problèmes rencontrés par votre application. Cette méthode vous fournit un numéro d'identification du problème, que vous pouvez utiliser avec la méthode Inspecteur ou en discutant du problème avec l'équipe de soutien de l'API de Vonage.
Vous pouvez envoyer l'identifiant de la question à un serveur qui peut le stocker dans une base de données pour référence ultérieure.
Objectif-C
Signaler un problème
Vous pouvez appeler le OTSession reportIssue() pour signaler par programme les problèmes rencontrés par votre application. Cette méthode vous fournit un numéro d'identification du problème, que vous pouvez utiliser avec la méthode Inspecteur ou en discutant du problème avec l'équipe de soutien de l'API de Vonage.
Les issueId est un pointeur vers une chaîne de caractères qui deviendra l'identifiant unique du problème signalé. Si l'appel à la méthode échoue (par exemple, en raison de l'absence de connexion réseau), cette valeur est définie comme nulle.
Vous pouvez envoyer l'identifiant de la question à un serveur qui peut le stocker dans une base de données pour référence ultérieure.
React Native
Écoute des événements d'exception
Pour détecter tous les événements d'exception, ajoutez un gestionnaire d'événements pour otrnError et error événements :
<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>
Signaler un problème
Vous pouvez appeler le reportIssue() de l'objet OTSession pour signaler par programme que votre application rencontre un problème. Cette méthode renvoie une promesse qui se résout par un numéro d'identification du problème (chaîne de caractères), que vous pouvez utiliser avec la fonction Outil d'inspection ou auprès de l'équipe de soutien de l'API de Vonage.
// 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.
Swift
Signaler un problème
Vous pouvez appeler le OTSession reportIssue(_ :) pour signaler par programme les problèmes rencontrés par votre application. Cette méthode vous fournit un numéro d'identification du problème, que vous pouvez utiliser avec la méthode Inspecteur ou en discutant du problème avec l'équipe de soutien de l'API de Vonage.
Les issueId est un pointeur vers une chaîne de caractères qui deviendra l'identifiant unique du problème signalé. Si l'appel à la méthode échoue (par exemple, en raison de l'absence de connexion réseau), cette valeur est définie comme nulle.
Vous pouvez envoyer l'identifiant de la question à un serveur qui peut le stocker dans une base de données pour référence ultérieure.
Utilisation de l'aire de jeux
L'API Video de Vonage Terrain de jeux vous permet de vous connecter facilement à une session dans un client Web. Cela peut être utile pour déboguer une appli qui utilise le SDK React Native de Vonage Client Video (ou un autre SDK client).
Pour plus de détails, voir le Documentation sur les aires de jeux.
Séances de dépannage avec l'inspecteur
Les Inspecteur de session fournit des informations de diagnostic post-mortem sur les sessions Vonage Video. Entrez un ID de session ou un ID de problème signalé dans Inspector pour voir les informations brutes au niveau du flux et de l'utilisateur afin d'aider à localiser les erreurs, les défaillances et les problèmes de qualité.