At Brightcove, we strive to keep the documentation structured, clean and intuitive. As such, we leverage github READMEs for details on all our plugins and integrations. For your convenience, we've listed and linked to these plugins below.
The Native Player SDK for Android offers support for the following versions of Android:
Brightcove provides active support for the latest Android SDK on the following Android versions:
- 5.0, 5.1
Brightcove provides passive support for the following Android versions:
- 4.1, 4.2, 4.3
Understanding support levels
Support is defined in terms of the [major version].[minor version] of an OS (for example: Android 4.1). There are two levels of support:
- Active: Brightcove will test and fix bugs on these OS versions.
- Passive: Brightcove will test on these OS versions, but bug fixes will be handled on a case by case basis.
Generally, Brightcove provides active support for the versions of the OS that are used by 80% of the user base, and passive support for other versions used by at least 5% of the user base. Only the latest minor revision of a version is supported.
Android 7 support
The Brightcove Native SDK for Android now supports Android 7.
Early testing verifies that our Native SDK for Android now supports Android 7.0 SDK (API 24 Developer Preview 5). Using the Native SDK for Android along with the Android 7.0 SDK, we successfully compiled and tested our sample applications. These were then deployed to various devices for further verification.
Here are some of the test scenarios we used to qualify support on Android 7:
- Brightcove Native SDK for Android: version 4.9
- Test device: Nexus 6 and 6P with Android SDK 7 "angler"
- Test applications: various sample apps
|Java version||Target Android SDK version|
|Java 8||7 (API 24)|
|Java 7||6 (API 23)|
Connected TV / Set top boxes
The Native Player SDK for Android offers support for the following Android-based set top boxes:
- Android TV
- Fire TV (FireOS 5.0+ devices)
The set top box devices we tested with include:
- Nexus Player
- Nvidia Shield
The Brightcove Native SDK for Android sample apps will work on Android TV and Fire TV. This means your TV-based apps can include advertising, content protection (DRM), live playback, custom UI controls, Brightcove Analytics and QoE metrics.
Check out the Styled Controls sample app for details on styling the UI controls in your TV app.
Before beginning development with the Android SDK there are a few concepts you should learn about:
The current version of the Native Player SDK supports playing content from your Video Cloud account through the Playback API, or as remote assets with internet accessible URLs.
With the Native Player SDK, Video Cloud customers automatically get robust analytics data reported in Video Cloud.
Gradle is the foundation of the Android SDK build system, and is integrated with Android Studio.
- Maven repo
The Brightcove Native Player for Android Maven artifacts (jar files) are now available in the Brightcove Maven Repo - http://repo.brightcove.com/releases
- Android SDK overview
To aid in your understanding of the SDK, learn how critical components interact to handle the complexities of controlling the native video player.
- Build an app using the Native SDK for Android
Create your first app with the Brightcove Player SDK for Android, which retrieves a video from your Video Cloud account and starts playback.
- SDKs developer forum
Join us in the SDK developer forums where SDK related questions are answered by the community and Brightcove engineers. Currently a private group, you'll have to request access, providing details about the project you're working on to gain entry.
- Video-on-Demand training
View a series of training videos that walk you through the steps of building an app in Android Studio that plays a video and a playlist from your Video Cloud library.
Download the SDK
Get the latest version of the Brightcove Native SDK for Android:
|Reference Documentation||Notes||Supported Framework||Samples|
|SDK||Native SDK for Android v4.13.2||SDK Reference||Release Notes||ExoPlayer v1.5.13||Sample Applications|
or select this button:
To view the product updates for all of the Native SDKs and the associated plugins, see the Release Notes for the Brightcove Native SDKs document.
Core SDK installation
Installation of the core SDK is very straightforward.
- Simply download the SDK and unzip it. You will find the SDK archive file contains six other zip files.
- Unzip the android-sdk-4.x.x.zip file.
- From this archive add the android-sdk-4.x.x.aar file to your library, along with any plugin files that you may need.
The following table contains links to get plugins integrated with your SDK implementation. The plugins can be downloaded from their respective Github Repos, and each repo contains a detailed README with instructions on how to setup the plugin.
The sample applications demonstrate the basic functionality of each plugin integrated with the SDK. These sample apps are a good way to learn about each plugin, and serve as a reference point when debugging.
|Category||Brightcove Plugin||Reference Documentation||Sample Apps||Supported Partner/Vendor Plugin|
|Advertising||FreeWheel plugin v4.13.2 ||FreeWheel Reference||Basic FreeWheel Sample||FreeWheel AdManager library v6.10.0|
|FreeWheel with Widevine Modular Sample|
|IMA plugin v4.13.2||IMA Reference||Basic IMA Sample||Google IMA v3-3.1.3|
|Ad Rules with IMA Sample|
|Ad Rules with IMA and Widevine Sample|
|OnceUX plugin v4.13.2||OnceUX Reference||Basic OnceUx Sample||onceux-android-library 2.1.17|
|VMAP ||VMAP Reference||Basic VMAP Sample||None|
|Analytics||Omniture plugin v4.13.2 ||Omniture Reference||Basic Omniture Sample||AdobeVideoLibrary 4.11.0
|Chromecast||Google Cast plugin v4.13.0||Cast Reference||Basic Chromecast Sample||CastCompanionLibrary- android:2.5.1|
|DRM||Widevine Modular ||Widevine Reference||Widevine Modular Sample||None. The Android framework supports Widevine Modular when using the ExoPlayer Video View.|
|Widevine Classic plugin v4.9.2 (deprecated)  ||Widevine Reference||Widevine Classic Sample||android.drm package|
Here is additional information you may find helpful when working with the Advertising plugins.
The placement of VAST ads is typically specified by a VMAP document. VAST describes an ad while VMAP describes the placement of ads in a video. For code details, see the BasicIMASampleApp.
When working with IMA ads, it is best practice to check that your ads work outside of the SDK before implementing them. The following links will be helpful for this:
The following table contains links to code samples that are in addition to the samples associated with the integrations in the previous section.
Brightcove recommends using the ExoPlayer implementation when possible. For a list of code samples using the ExoPlayer, see the collection of samples using the BrightcoveExoPlayerVideoView.
For a list of other code samples, see the collection of samples for the Brightcove Player SDK for Android.
|Basic Sample||Create a basic app that plays videos from your Video Cloud library.|
|Custom Controls||Customize the player controls.|
|DVR Live||Create an app that runs an HLS live stream.|
|Remote Video||Load a video from a remote server.|
|360° Video||Plays a 360° video, as long as the projection property is set. When the Video 360 button in the control bar is tapped, the video is displayed in VR Goggles mode with side-by-side images. For details, see the Using 360-Degree Videos with the Mobile SDKs document.|
The following table contains links to developer docs which will help you get started with your own app using the Brightcove Player SDK, and guide you through some of the features and functionality available.
|Brightcove Perform Setup||Learn the basics of working with the Brightcove Player SDK for Android by walking you through the development of a simple video playback app using content from your own backend.|
|Brightcove Video Cloud Setup||Learn the basics of working with the Brightcove Player SDK for Android by walking you through the development of a simple video playback app using the Brightcove Catalog service.|
|Creating Plugins||Learn how to create a plugin for the Brightcove Player SDK for Android.|
|Managing View Layout||Learn how to manage the layout of a View added to the
|Handling Orientation Changes||Learn how to manage unwanted default behavior when the orientation changes.|
|Rendition Selection||Learn about the default rendition selection process when playing a video.|
|Using Brightcove Analytics||Learn how to set properties in Brightcove Analytics from your mobile app using the Brightcove SDK for Android.|
|Working with Player Controls||Learn how to customize and hide player controls.|