Depuración de la 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);

(Llamada 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 gestores 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() 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.

Informar de un problema

Puede 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 discutir el problema con el equipo de soporte de 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.
  }
});

En OT.reportIssue() recibe un parámetro, una función de control de finalización, que se ejecuta cuando la llamada a OT.reportIssue() tiene éxito o falla. La función "completion handler" tiene dos parámetros.

El primer parámetro es un objeto de error que se establece cuando la llamada a la función reportIssue() falla (por ejemplo, si el cliente no está conectado a la red) o null cuando la llamada al 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

Puede 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 discutir el problema con el equipo de soporte de 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

Puede 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 discutir el problema con el equipo de soporte de API de Vonage.

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

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

Informar de un problema

Puede 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

Puede 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 discutir el problema con el equipo de soporte de API de Vonage.

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

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

Uso del patio de recreo

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

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

Sesiones de resolución de problemas con el Inspector

En Inspector de sesión proporciona información de diagnóstico post-mortem sobre las sesiones de Vonage Video. Ingresa un ID de sesión o un ID de problema informado en Inspector para ver información sin procesar a nivel de flujo y usuario para ayudar a identificar errores, fallas y problemas de calidad.

Ver también