Descripción general: SDK nativo de Brightcove para Android

Bienvenido a la documentación para desarrolladores del SDK de Android. Aquí encontrarás la información necesaria para desarrollar con el SDK de Android.

Estructura de la documentación

En Brightcove, nos esforzamos por mantener la documentación estructurada, limpia e intuitiva. Como tal, aprovechamos los archivos READMEs de github para obtener detalles sobre todos nuestros complementos e integraciones. Para su conveniencia, hemos enumerado y vinculado a estos complementos a continuación.

Soporte de Android

Native SDK para Android ofrece soporte para las siguientes versiones de Android:

Apoyo activo

Brightcove proporciona soporte activo para el último SDK de Android en las siguientes versiones de Android:

  • 12,0
  • 11,0
  • 10.0
  • 9.0
  • 8.0, 8.1
  • 7.0, 7.1
  • 6.0

Soporte pasivo

Brightcove proporciona soporte pasivo para las siguientes versiones de Android:

  • 5,0, 5,1

Comprender los niveles de soporte

El soporte se define en términos de [versión principal].[versión menor] de un SO (por ejemplo: Android 8.1). Para aprovechar las últimas mejoras tecnológicas de Google, ofrecemos dos niveles de asistencia:

  • Activo: Brightcove probará y corregirá errores en estas versiones del sistema operativo.
  • Pasivo: Brightcove probará en estas versiones del sistema operativo, pero las correcciones de errores se manejarán caso por caso.

Generalmente, Brightcove proporciona soporte activo para las versiones del sistema operativo que utiliza el 80% de la base de usuarios y soporte pasivo para otras versiones utilizadas por al menos el 5% de la base de usuarios.

Compatibilidad con variantes de Android

El SDK nativo de Brightcove para Android está desarrollado y probado con las versiones principales del sistema operativo Android. Brightcove no es compatible oficialmente con las distribuciones de mercado secundario de Android, como LineageOS.

Los usuarios de dispositivos que ejecutan versiones variantes de Android pueden experimentar problemas con las aplicaciones desarrolladas con Native SDK para Android.

TV / decodificadores conectados

El SDK nativo para Android ofrece soporte para los siguientes decodificadores basados en Android:

  • Android TV
  • Fire TV (dispositivos FireOS 5.0+)

Los dispositivos decodificadores con los que probamos incluyen:

  • Jugador Nexus
  • Escudo de Nvidia

La Brightcove Native SDK para aplicaciones de muestra de Android funcionará en Android TV y Fire TV. Esto significa que sus aplicaciones basadas en TV pueden incluir publicidad, protección de contenido (DRM), reproducción en vivo, controles de interfaz de usuario personalizados, Brightcove Analytics y métricas de QoE.

Revisar la Aplicación de muestra de controles con estilo para obtener detalles sobre el estilo de los controles de la interfaz de usuario en su aplicación de TV.

Empezar

Antes de comenzar el desarrollo con el SDK de Android, hay algunos conceptos que debe conocer:

  1. Medios de comunicación

    La versión actual de Native SDK admite la reproducción de contenido desde su cuenta de Video Cloud a través de la API de reproducción o como activos remotos con URL accesibles por Internet.

  2. Analítica

    Con Native SDK, los clientes de Video Cloud obtienen automáticamente datos analíticos sólidos informados en Video Cloud.

  3. Gradle

    Gradle es la base del sistema de compilación del SDK de Android y está integrado con Android Studio.

  4. Repositorio de Maven

    Los artefactos de Brightcove Native Player para Android Maven (archivos jar) ahora están disponibles en Brightcove Maven Repo - https://repo.brightcove.com/releases

  5. Descripción general del SDK de Android

    Para ayudarlo a comprender el SDK, aprenda cómo interactúan los componentes críticos para manejar las complejidades de controlar el reproductor de video nativo.

  6. Cree una aplicación con el SDK nativo para Android

    Cree su primera aplicación con Brightcove Native SDK para Android, que reproduce un video desde su propio sistema backend. Los clientes de Video Cloud también recuperarán y reproducirán un video del servicio Brightcove Catalog.

  7. Entrenamiento de video bajo demanda

    Vea una serie de videos de capacitación que lo guiarán a través de los pasos para crear una aplicación en Android Studio que reproduzca un video y una lista de reproducción de su biblioteca de Video Cloud.

  8. Lista de correo

    Únase a la lista de distribución de SDK nativos de Brightcove para mantenerse informado sobre los anuncios de lanzamiento de los SDK nativos.

Descarga el SDK

Obtenga la última versión de Brightcove Native SDK para Android:

  Paquete
(Repositorio de Github)
Documentación de referencia Notas Marco compatible Muestras
SDK SDK nativo para Android v8.0.0 Referencia de SDK Notas de versión ExoPlayer 2.17.1 Aplicaciones de muestra

o seleccione este botón:

Para ver las actualizaciones de productos para todos los SDK nativos y los complementos asociados, consulte la Notas de la versión de los SDK nativos de Brightcove documento.

Notas

Las siguientes notas hacen referencia a la última versión del SDK nativo:

  • A partir de la versión 6.10.0, el SDK nativo de Brightcove para Android usa las bibliotecas Jetpack (androidx. *) En lugar de las bibliotecas de soporte originales. Este cambio es necesario para Exoplayer versión 2.10.0 y superior. Para usar Jetpack, sus aplicaciones deben cumplir con los siguientes requisitos:

    • Migrar a dependencias de Jetpack (AndroidX)
    • Herramientas de Android Gradle 3.2.0
    • Gradle versión 4.6

    Para obtener más información sobre cómo migrar a JetPack, consulte el Guía de migración de Android.

  • La versión mínima del SDK de Android compatible con Brightcove Native SDK para Android es ahora 19.
  • Para ExoPlayer v2.17.1, debe habilitar la compatibilidad con Java 11. Para hacer esto, agregue lo siguiente a la sección de Android del archivo build.gradle de su aplicación. Para obtener más detalles, consulte ExoPlayer de Android documento.
    android {
        compileOptions {
          targetCompatibility JavaVersion.VERSION_11
        }
      }

    Esto anula la versión predeterminada de Java basada en el proyecto compileSdkVersion valor.

Instalación del Core SDK

La instalación del SDK central de Brightcove es muy sencilla. Hay dos maneras de hacer esto:

Usando el sistema de construcción gradle

La forma más sencilla de agregar el SDK de Brightcove y sus dependencias es utilizar el sistema de compilación gradle en Android Studio.

El uso de una versión de dependencia dinámica con el carácter '+' no se recomienda en la comunidad de Gradle. El uso de versiones dinámicas conlleva un riesgo significativo para su proceso de compilación, ya que las API más nuevas pueden volverse inesperadamente incompatibles con el código fuente de su aplicación.

Para obtener más información sobre el uso de gradle, consulte Android Agregar dependencias de compilación documentación.

Descarga manual del SDK

También puede descargar manualmente Brightcove SDK de la siguiente manera:

  1. Simplemente descargue el SDK y descomprímalo. Encontrará varias carpetas.
  2. Dentro de sdk carpeta, encontrará el SDK central con el nombre android-sdk-xxxaar , dónde xxx es el último número de versión del SDK.
  3. Añade el android-sdk-xxxaar archivo a su biblioteca, junto con cualquier archivo de complemento que pueda necesitar.

Integraciones

La siguiente tabla contiene enlaces para integrar complementos con su implementación de SDK. Los complementos se pueden descargar de sus respectivos repositorios de Github, y cada repositorio contiene un archivo README detallado con instrucciones sobre cómo configurar el complemento.

Las aplicaciones de muestra demuestran la funcionalidad básica de cada complemento integrado con el SDK. Estas aplicaciones de muestra son una buena manera de aprender sobre cada complemento y sirven como punto de referencia al depurar.

Versiones de integración anteriores

Categoría Complemento Brightcove Documentación de referencia Aplicaciones de muestra Complemento de socio / proveedor admitido
Publicidad Complemento FreeWheel 8.0.0 [1] Referencia de FreeWheel Muestra de rueda libre básica Biblioteca de FreeWheel AdManager 6.28.0
    FreeWheel con muestra modular Widevine  
Complemento IMA 8.0.0 [2] Referencia de IMA Reglas publicitarias con muestra de IMA Google IMA 3.27.0
    Reglas de anuncios con IMA y muestra de Widevine  
    Muestra básica de IMA VAST  
Complemento de pulso 8.0.0 Referencia de pulso Muestra de pulso Pulso SDK 2.5.20.3.0
Complemento SSAI 8.0.0 Referencia SSAI Muestra básica de SSAI Ninguna
Analítica Complemento Omniture 8.0.0 [3] Referencia de Omniture AdobeVideoLibrary 4.11.0

VideoHeartbeat 2.0.0
Chromecast Complemento de transmisión 8.0.0 Reparto de referencia Muestra del receptor Brightcove
Ejemplo de receptor de Google
Extensión ExoPlayer Cast 2.17.1

Combinando complementos

Con Native SDK para Android, la mayoría de los complementos se pueden combinar. Esto aplicación de muestra muestra cómo utilizar Brightcove ExoPlayer con anuncios IMA de Google y protección de contenido con Widevine Modular.

Muestras

Brightcove recomienda utilizar el BrightcoveExoPlayerVideoView implementación cuando sea posible. Para obtener muestras y fragmentos de código, consulte lo siguiente:

La siguiente tabla contiene vínculos a ejemplos de código que se suman a los ejemplos asociados con las integraciones de la sección anterior.

Aplicación de muestra Descripción
Muestra básica Cree una aplicación básica que reproduzca videos de su biblioteca de Video Cloud.
Chromecast Transmite tus videos a un televisor conectado a Chromecast. Para obtener una descripción general, consulte el El complemento Cast para el SDK nativo para Android documento.
Controles personalizados Personaliza los controles del reproductor.
DRM con Widevine Proteja su contenido con Widevine. El marco de Android es compatible con Widevine Modular cuando se usa ExoPlayer Video View. Para obtener más detalles, consulte la Referencia de Widevine.
Transmisión en vivo Cree una aplicación que ejecute una transmisión en vivo de HLS.
Reproducción sin conexión Descargue y reproduzca videos DASH, incluidos aquellos protegidos con cifrado Widevine. Para obtener una descripción general, consulte el Reproducción sin conexión con los SDK nativos documento.
Video remoto Cargue un video desde un servidor remoto.
Lista de videos Usar una RecyclerView para manejar un conjunto de videos.
Video 360 ° Reproduce un video de 360 °, siempre que se establezca la propiedad de proyección. Cuando se presiona el botón Video 360 en la barra de control, el video se muestra en el modo VR Goggles con imágenes una al lado de la otra. Para obtener más detalles, consulte la Uso de videos de 360 ° con los SDK móviles documento.

Guías de soluciones

La siguiente tabla contiene enlaces a documentos para desarrolladores que lo ayudarán a comenzar con su propia aplicación utilizando Brightcove Native SDK y lo guiarán a través de algunas de las características y funcionalidades disponibles.

Guía Descripción
SDK nativo de Brightcove para la configuración de Android Aprenda los conceptos básicos para trabajar con el SDK nativo de Brightcove para Android al guiarlo a través del desarrollo de una aplicación de reproducción de video simple que utiliza contenido de su propio sistema backend.

Los clientes de Video Cloud también recuperarán y reproducirán un video del servicio Brightcove Catalog.
Crear complementos Aprenda a crear un complemento para Brightcove Native SDK para Android.
Administrar el diseño de la vista Aprenda a administrar el diseño de una vista agregada al BrightcoveVideoView .
Manejo de cambios de orientación Aprenda a administrar el comportamiento predeterminado no deseado cuando cambia la orientación.
Medición abierta IAB Aprenda a utilizar Open Measurement SDK con el complemento IMA para admitir herramientas de terceros para la medición y verificación de anuncios.
Selección de fuente Obtenga información sobre el proceso de selección de reproducción predeterminado al reproducir un video.
Uso de Brightcove Analytics Aprenda a configurar propiedades en Brightcove Analytics desde su aplicación móvil con Brightcove SDK para Android.
Trabajar con controles de jugador Aprenda a personalizar y ocultar los controles del reproductor.

Mejores prácticas

Aquí hay información adicional que puede resultarle útil cuando trabaje con Brightcove Native SDK.

Publicidad con IMA

La ubicación de los anuncios VAST generalmente se especifica mediante un documento VMAP. VAST describe un anuncio, mientras que VMAP describe la ubicación de anuncios en un video. Para obtener detalles sobre el código, consulte lo siguiente:

 

Al trabajar con anuncios IMA, se recomienda comprobar que sus anuncios funcionan fuera del SDK antes de implementarlos. Los siguientes enlaces serán útiles para esto:

Anuncios complementarios

Los anuncios complementarios y los anuncios de destino no son compatibles con Android TV. Debido a que no hay compatibilidad con el navegador web en Android TV, no existe un destino para una URL de destino.

Trabajar con ProGuard

Utilizando ProGuard le permite crear aplicaciones más seguras, lo que dificulta su ingeniería inversa. ProGuard está integrado en el sistema de compilación de Android, por lo que puede optar por habilitarlo o compilar sin él.

Si recibe un error cuando ProGuard está habilitado en Gradle, intente agregar las siguientes reglas de exclusión:

  -dontwarn com.google.**
  -dontwarn android.media.**
  -keep class android.media.** { *; }
  -keep class com.google.** { *; }
  -keep interface com.google.** { *; }
  -keep class com.google.ads.interactivemedia.** { *; }
  -keep interface com.google.ads.interactivemedia.** { *; }
  
  

Para obtener una lista completa de las reglas de ProGuard utilizadas por Brightcove Native SDK, descargue y descomprima el SDK nativo actual para Android. Abre el sdk carpeta y ver la proguard.txt expediente.

Comportamiento de reproducción

Es posible que observe algunos de los siguientes comportamientos de reproducción en ciertos dispositivos Android:

Pausa de video

De Android Pausa inteligente La función en los dispositivos Samsung pausará un video cuando el usuario aparte la vista de la pantalla del dispositivo. Puede deshabilitar esta función si no desea que los videos se detengan en dispositivos habilitados para Smart Pause.