En este tema, aprenderá a mostrar las vistas de todos los tiempos para cada video cargado en un reproductor.
Limitaciones
Ejemplo de jugador
El siguiente reproductor incluye una lista de reproducción para mostrarle que el código utilizado para recuperar todas las vistas de tiempo funcionará con las listas de reproducción. También funcionará con un solo reproductor de video.
Debería ver las vistas de todos los tiempos del primer video que se muestra debajo del reproductor. Seleccione otros videos en la lista de reproducción para ver sus reproducciones de todos los tiempos. Tenga en cuenta que el área del informe de vistas estará en blanco durante un breve período de tiempo cuando se recuperen los datos.
Ver la pluma 18154 reproducciones de video de todos los tiempos por Brightcove Learning Services ( rcrooks1969 ) en CodePen.
Código fuente
Ver el solución completa en GitHub.
Uso de CodePen
Estos son algunos consejos para utilizar eficazmente el CodePen anterior:
- Cambie la visualización real del reproductor haciendo clic en el Result botón.
- Haga clic en el HTML/CSS/JS botones para mostrar UNO de los tipos de código.
- Más adelante, en este documento, la lógica, el flujo y el estilo utilizados en la aplicación se analizarán en la configuración de reproductor/HTML, Flujo de aplicaciones y Estilo de la aplicación. secciones. La mejor manera de seguir la información de estas secciones es:
- Haga clic en el EDIT ON CODEPEN en el CodePen y tenga el código disponible en un navegador / pestaña del navegador.
- En CodePen, ajusta el código que quieres que se muestre. Puede cambiar el ancho de las distintas secciones de código dentro de CodePen.
- Ver el Configuración de reproductor / HTML , Flujo de aplicación y / o Estilo de aplicación secciones en otra pestaña del navegador / navegador. Ahora podrá seguir las explicaciones del código y, al mismo tiempo, ver el código.
secuencia de desarrollo
Esta es la secuencia de desarrollo recomendada:
- Utilice la implementación del reproductor de incrustación en la página para probar la funcionalidad de su reproductor, complemento y CSS (si es necesario CSS)
- Coloque el JavaScript y CSS del plugin en archivos separados para pruebas locales
- Implementa el código del plugin y CSS en tu servidor una vez que hayas resuelto cualquier error.
- Usa Studio para agregar el plugin y CSS a tu reproductor
- Reemplace la implementación del reproductor de incrustación en página si determina que la implementación de iframe se ajusta mejor (se detalla en la siguiente sección)
Para obtener más información sobre estos pasos, consulte la sección Paso a paso: Guía de desarrollo de plugins.
iframe o incrustación en página
Al desarrollar mejoras para Brightcove Player, deberás decidir si el código se ajusta mejor a la implementación de iframe o incrustación en la página. La recomendación de práctica recomendada es crear un complemento para usarlo con una implementación de iframe. Las ventajas de utilizar el reproductor iframe son:
- Sin colisiones con JavaScript y/o CSS existentes
- Responde automáticamente
- El iframe facilita el uso en aplicaciones de redes sociales (o siempre que el vídeo tenga que «viajar» a otras aplicaciones)
Aunque la integración del reproductor de incrustación en la página puede ser más compleja, hay ocasiones en que planificará el código en torno a esa implementación. Para generalizar, este enfoque es mejor cuando la página que contiene necesita comunicarse con el reproductor. En concreto, estos son algunos ejemplos:
- El código de la página que contiene necesita escuchar y actuar en función de los eventos de los jugadores
- El reproductor utiliza estilos de la página que lo contiene
- El iframe hará que la lógica de la aplicación falle, como un redireccionamiento desde la página que contiene
Incluso si tu implementación final no utiliza el código iframe, puedes seguir usando el código de incrustación en la página con un plugin para tu JavaScript y un archivo separado para tu CSS. Esto encapsula tu lógica para que puedas utilizarla fácilmente en varios reproductores.
Recursos de API/plugins utilizados
Métodos API | Eventos API | Propiedades de API | API que no son de jugador utilizadas |
---|---|---|---|
jugar () | metadatos cargados | player.mediainfo.id | API de análisis |
uno () | |||
sobre() |
Configuración de reproductor/HTML
En esta sección se detalla cualquier configuración especial necesaria durante la creación del reproductor. Además, se describen otros elementos HTML que deben agregarse a la página, más allá del código de implementación del reproductor de incrustación de la página.
Configuración del reproductor
No se requiere ninguna configuración especial para el reproductor de Brightcove que crea para este ejemplo.
Otros HTML
Un HTML <div>
etiqueta con un class
de vjs-playlist
y un id
de bcls_alltimePlaysPlaylist
se agrega como la ubicación de la lista de reproducción.
Flujo de aplicaciones
La lógica básica detrás de esta aplicación es:
- Cree un elemento HTML para contener la información de las vistas. Esta es una creación dinámica
<p>
y se coloca dinámicamente en el DOM. - Recupere la identificación del primer video colocado en el reproductor para usarlo en la recuperación de sus visualizaciones de todos los tiempos.
- Configuración para recuperar los ID de otros videos a medida que se reproducen desde la lista de reproducción
- Prepárate para hacer el Analytics API solicitud del video deseado.
- Hacer el Analytics API solicitud del video deseado.
- Muestra los datos de vistas devueltos.
Cree y coloque dinámicamente un elemento de párrafo HTML
Busque el código etiquetado:
// +++ Create the element to hold the video views +++
Aquí se crea, se le da estilo y se coloca un elemento de párrafo. Tenga en cuenta que el código tiene en cuenta la existencia de una lista de reproducción al determinar la ubicación.
Establecer oyente para solicitudes futuras
Busque el código etiquetado:
// +++ Set listener for future requests +++
Debido a algunas tareas de inicialización, la primera loadedmetadata
el evento se usa con el one()
método. Después de eso, el código usa el on()
método para manejar todo lo siguiente loadedmetadata
despacho de eventos.
Obtenga la identificación del video colocado inicialmente en el reproductor.
Busque el código etiquetado:
// +++ Get the current video id from mediainfo then start process to get views count +++
La identificación es parte del mediainfo
objeto.
Preparar la información para solicitarla al proxy / API de Analytics
Busque el código etiquetado:
// +++ Prepare information for request to proxy/Analytics API +++
Este es un código casi estándar utilizado para todas las llamadas y detalles de la API REST de Brightcove en la Guía de aprendizaje: Uso del documento API REST.
Realice una llamada real a la API de proxy / Analytics
Busque el código etiquetado:
// +++ Prepare information for request to proxy/Analytics API +++
Este es un código casi estándar utilizado para todas las llamadas y detalles de la API REST de Brightcove en la Guía de aprendizaje: Uso del documento API REST.
Estilismo de aplicaciones
El CSS usó estilos para el tamaño y la ubicación del reproductor / lista de reproducción.
Código de plugin
Normalmente, al convertir JavaScript en un complemento de Brightcove Player, se necesitan cambios nominales. Un cambio necesario es reemplazar el uso estándar del ready()
método por el código que define un complemento.
Aquí está el código de inicio a JavaScript muy utilizado que funcionará con el reproductor:
videojs.getPlayer('myPlayerID').ready(function() {
var myPlayer = this;
...
});
Cambiarás la primera línea para usar la sintaxis estándar para iniciar un plugin de Brightcove Player:
videojs.registerPlugin('pluginName', function(options) {
var myPlayer = this;
...
});
Como se mencionó anteriormente, puede ver el código JavaScript del complemento en el repositorio de GitHub correspondiente de este documento: all-time-views.js.
Uso del complemento con un reproductor
Una vez que tengas los archivos CSS y JavaScript del plugin almacenados en una ubicación accesible a Internet, puedes usar el plugin con un reproductor. En Studio's JUGADORES módulo puedes elegir un jugador, luego en el PLUGINS sección agregue las URL a los archivos CSS y JavaScript, y también agregue el Nombre y Opciones , si se necesitan opciones.
Código proxy
Para crear su propia versión de la aplicación de muestra en esta página, debe crear y alojar su propio proxy. (Los proxies utilizados por Brightcove Learning Services solo aceptan solicitudes de dominios de Brightcove.) Un proxy de ejemplo, muy similar al que usamos, pero sin las comprobaciones que bloquean solicitudes de dominios que no son de BrightCove, se puede encontrar en este repositorio de GitHub. También encontrará instrucciones básicas para utilizarlo allí y una guía más elaborada para crear aplicaciones alrededor del proxy en Uso de las API REST.