Depuración de tu aplicación de vídeo

Visión general

Esta guía explica cómo depurar eficazmente tu aplicación de vídeo. Tanto durante el desarrollo como después del despliegue, tú y tus usuarios finales podéis encontraros con problemas. Hay varias maneras de ayudar a localizar errores y problemas con tu aplicación.

Depuración durante el desarrollo

Dado que las aplicaciones de vídeo pueden escribirse en diversas aplicaciones, la depuración durante el desarrollo dependerá del lenguaje en el que hayas escrito tu aplicación.

JavaScript

Registro en la consola

Cuando estés desarrollando tu aplicación, coloca el siguiente código en algún lugar de tu aplicación. Al hacerlo, se producirá más salida de registro en la consola, lo que le permitirá rastrear mejor su programa y entender lo que está sucediendo detrás de las escenas.

OT.setLogLevel(OT.DEBUG);

También puede registrar mensajes en la consola llamando a la función OT.log() método:

OT.log("my session ID: " + session.sessionId);

(Llamar a OT.setLogLevel(OT.DEBUG) o OT.setLogLevel(OT.LOG) antes de llamar a OT.log().)

Probar varias conexiones de cliente en una máquina

No puede suscribirse a un flujo publicado en la misma página del navegador. Sin embargo, puedes abrir la página en una segunda pestaña (o ventana del navegador) y suscribirte a un flujo publicado en la otra pestaña (o ventana).

Uso de los controladores de finalización

Para muchos métodos que se completan de forma asíncrona, el último parámetro que se pasa es una función de control de finalización. Esta función es llamada cuando el método se completa o falla. Si falla, se pasa a la función un objeto de error como parámetro.

Por ejemplo, el siguiente código llama a la función Session.connect() método, pasando un controlador de finalización:

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");
  }
});

Para más información, consulte Tratamiento de excepciones.

Notificar un problema

Puedes llamar al OT.reportIssue() para informar mediante programación cuando su aplicación experimenta un problema. Este método le proporciona un ID de incidencia, que puede utilizar con el método Inspector de sesión o al tratar el tema con el equipo de asistencia técnica de la 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.
  }
});

El OT.reportIssue() El método toma un parámetro, una función de gestión de finalización, que se invoca cuando la llamada a OT.reportIssue() tenga éxito o falle. La función de gestión de finalización tiene dos parámetros.

El primer parámetro es un objeto de error que se establece cuando se realiza la llamada a la reportIssue() el método falla (por ejemplo, si el cliente no está conectado a la red) o null cuando se realiza la llamada a la reportIssue() tiene éxito. El segundo parámetro se establece en el ID de incidencia notificado (una cadena única) cuando la llamada tiene éxito.

Java

Informar de un problema

Puedes llamar al Session.reportIssue() para informar mediante programación cuando su aplicación experimenta un problema. Este método le proporciona un ID de incidencia, que puede utilizar con el método Inspector o al tratar el tema con el equipo de asistencia técnica de la API de Vonage.

String issueId = session.reportIssue();

Es posible que desee enviar el ID de incidencia a un servidor que pueda almacenarlo en una base de datos para su posterior consulta.

Objetivo-C

Informar de un problema

Puedes llamar al OTSession reportIssue() para informar mediante programación cuando su aplicación experimenta un problema. Este método le proporciona un ID de incidencia, que puede utilizar con el método Inspector o al tratar el tema con el equipo de asistencia técnica de la API de Vonage.

OTError* issueId = nil;
[mySession reportIssue:&issueId];
if (issueId) {
  NSLog(@"Report issue ID: %@", issueId);
}

El issueId es un puntero a una cadena que será el identificador único de la incidencia notificada. Si la llamada al método falla (por ejemplo, porque no hay conexión de red), este valor se establece en nil.

Es posible que desee enviar el ID de incidencia a un servidor que pueda almacenarlo en una base de datos para su posterior consulta.

React Native

Escucha de eventos de excepción

Para detectar todos los eventos de excepción, añada un controlador de eventos para otrnError y error eventos:

<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>

Notificar un problema

Puedes llamar al reportIssue() del objeto OTSession para informar mediante programación cuando su aplicación experimenta un problema. Este método devuelve un Promise que se resuelve con un ID de incidencia (cadena), que puedes utilizar con el método Herramienta del inspector o con el equipo de soporte de 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

Informar de un problema

Puedes llamar al OTSession.reportIssue(_:) para informar mediante programación cuando su aplicación experimenta un problema. Este método le proporciona un ID de incidencia, que puede utilizar con el método Inspector o al tratar el tema con el equipo de asistencia técnica de la API de Vonage.

var issueId: OTError?
mySession.reportIssue(&issueID)
if (issueId) {
  print("Report issue ID: \(issueId)")
}

El issueId es un puntero a una cadena que será el identificador único de la incidencia notificada. Si la llamada al método falla (por ejemplo, porque no hay conexión de red), este valor se establece en nil.

Es posible que desee enviar el ID de incidencia a un servidor que pueda almacenarlo en una base de datos para su posterior consulta.

Cómo utilizar el parque infantil

La Video API de Vonage Parque infantil te permite conectarte fácilmente a una sesión en un cliente web. Esto puede resultar útil a la hora de depurar una aplicación que utilice el SDK de Vonage Video para React Native (u otro Client SDK).

Para más información, consulte el Documentación del parque infantil.

Sesiones de resolución de problemas con Inspector

El Inspector de sesión Esta herramienta proporciona información de diagnóstico a posteriori sobre las sesiones de Vonage Video. Introduce un ID de sesión o un ID de incidencia en Inspector para ver la información sin procesar a nivel de flujo y de usuario, lo que te ayudará a identificar errores, fallos y problemas de calidad.

Véase también