概述:適用於Android的Brightcove本機SDK
文件結構
在 Brightcove,我們努力保持文檔的結構化,乾淨和直觀。因此,我們利用 github Readme 獲取有關我們所有插件和集成的詳細信息。為了方便起見,我們已列出並連結至下列這些外掛程式。
安卓支持
適用於 Android 的 Native SDK 支持以下 Android 版本:
主動支援
Brightcove為以下Android版本上的最新Android SDK提供積極支持:
- +12.0
- +11.0
- +10.0
- +9.0
- 8.0, 8.1
- 7.0, 7.1
- +6.0
被動支援
Brightcove為以下Android版本提供被動支持:
- 5.0、5.1
瞭解支援等級
支持的定義是[主要版本]。 [次要版本]操作系統(例如:Android 8.1)。為了利用Google的最新技術改進,我們提供了兩個級別的支持:
- 作用中:Brightcove 將測試和修復這些操作系統版本的錯誤。
- 被動式:Brightcove 將在這些操作系統版本上進行測試,但錯誤修復將根據個別情況進行處理。
一般而言,Brightcove 為 80% 的使用者群所使用的作業系統版本提供主動支援,並針對至少 5% 的使用者群使用的其他版本所使用的被動式支援。
Android 變體支持
適用於 Android 的 Brightcove Native SDK 是針對主線 Android 操作系統版本開發和測試的。Brightcove 不正式支持 Android 的售後市場發行版,例如 LineageOS。
運行不同 Android 版本的設備用戶可能會遇到使用 Native SDK for Android 開發的應用程序的問題。
已連接的電視/機上盒
Native SDK for Android 支持以下基於 Android 的機頂盒:
- Android TV
- 消防電視 (火力系統 5.0 以上裝置)
我們測試過的機頂盒設備包括:
- Nexus Player
- 英偉達盾
的適用於Android的Brightcove Native SDK示例應用程序將可在Android TV和Fire TV上使用。這意味著您基於電視的應用程序可以包括廣告,內容保護(DRM),實時播放,自定義UI控件,Brightcove Analytics和QoE指標。
看看樣式控件示例應用有關在電視應用中設置UI控件樣式的詳細信息。
入門
在開始使用Android SDK進行開發之前,您應該了解一些概念:
- 媒體
當前版本的 Native SDK 支持通過 Playback API 播放您的 Video Cloud 帳戶中的內容,或作為具有 Internet 可訪問 URL 的遠程資產。
- 分析
借助 Native SDK,Video Cloud 客戶可以自動獲得 Video Cloud 中報告的強大分析數據。
- 搖籃
Gradle是Android SDK構建系統的基礎,並與Android Studio集成。
- Maven回購
Brightcove Maven存儲庫中現在提供了適用於Android Maven工件(jar文件)的Brightcove本機播放器- https://repo.brightcove.com/releases
- Android SDK概述
為了幫助您理解SDK,請學習關鍵組件如何交互以處理控製本地視頻播放器的複雜性。
- 使用適用於Android的Native SDK構建應用
使用適用於 Android 的 Brightcove Native SDK 創建您的第一個應用程序,它可以播放來自您自己的後端系統的視頻。視訊雲端客戶將另外從 Brightcove 目錄服務擷取和播放視訊。
- 視頻點播培訓
查看一系列培訓視頻,這些視頻將引導您完成在Android Studio中構建應用程序的步驟,該應用程序將播放視頻雲庫中的視頻和播放列表。
- 郵件列表
加入 Brightcove Native SDKs 郵件列表,隨時了解 Native SDKs 的發佈公告。
下載開發套件
獲取最新版本的Brightcove Native SDK for Android:
軟件包 (Github 回購) |
參考文件 | 注意事項 | 支持的框架 | 樣本 | |
---|---|---|---|---|---|
SDK | Android原生SDK v8.0.0 | SDK 參考 | 版本資訊 | ExoPlayer 2.17.1 | 樣例應用 |
或選取此按鈕:
若要檢視所有原生 SDK 和相關外掛程式的產品更新,請參閱 Brightcove 原生 SDK 文件的版本說明。
注意事項
以下說明引用了本機SDK的最新版本:
-
從6.10.0版本開始,Brightcove的Android本機SDK使用Jetpack(androidx。*)庫而不是原始的支持庫。對於Exoplayer 2.10.0及更高版本,此更改是必需的。要使用Jetpack,您的應用程序必須滿足以下要求:
- 遷移到Jetpack(AndroidX)依賴項
- Android Gradle工具3.2.0
- Gradle 4.6版
有關如何遷移到JetPack的更多信息,請參閱官方Android遷移指南。
- 安卓的布賴特灣原生 SDK 支持的 Android 最低 SDK 版本現在是 19。
- 對於 ExoPlayer v2.17.1,您需要啟用 Java 11 支持。為此,請將以下內容添加到應用的 build.gradle 文件的 android 部分。如需詳細資訊,請參閱 Android 的「代理程式」文件。
android { compileOptions { targetCompatibility JavaVersion.VERSION_11 } }
這會覆蓋基於項目的默認Java版本
compileSdkVersion
值。
核心SDK安裝
Brightcove核心SDK的安裝非常簡單。有兩種方法可以做到這一點:
使用gradle構建系統
添加Brightcove SDK及其依賴項的最簡單方法是使用Android Studio中的gradle構建系統。
在 Gradle 社區中不鼓勵使用帶有 '+' 字符的動態依賴版本。使用動態版本控制會對您的構建過程帶來重大風險,因為較新的 API 可能會意外地與您的應用程序的源代碼不兼容。
有關使用gradle的更多信息,請參見Android 添加構建依賴項文檔。
手動下載SDK
您還可以按以下方式手動下載Brightcove SDK:
- 只需下載SDK並將其解壓縮。您會發現許多文件夾。
- 在 - 的里面sdk文件夾,您將找到名稱為core的SDK android-sdk-xxxaar,在哪裡xxx是最新的SDK版本號。
- 添加android-sdk-xxxaar文件以及您可能需要的所有插件文件。
整合
下表包含連結,以取得與 SDK 實作整合的外掛程式。這些插件可以從各自的 Gitthub 回購中下載,每個回購都包含詳細的 README,並提供有關如何設置插件的說明。
範例應用程式示範與 SDK 整合的每個外掛程式的基本功能。這些示例應用程序是了解每個插件的好方法,並作為調試時的參考點。
類別 | Brightcove 外掛程式 | 參考文件 | 範例應用程式 | 支援的合作夥伴/廠商外掛 |
---|---|---|---|---|
廣告 | FreeWheel 插件 8.0.0 [1] | 飛輪參照 | 基本的FreeWheel示例 | 飛輪廣告管理器庫 6.28.0 |
帶有Widevine模塊化樣品的FreeWheel | ||||
IMA 插件 8.0.0 [2] | IMA 參考 | 使用IMA示例的廣告規則 | 谷歌 IMA 3.27.0 | |
具有IMA和Widevine示例的廣告規則 | ||||
IMA VAST基本樣本 | ||||
脈衝插件 8.0.0 | 脈衝參考 | 脈衝樣本 | 脈衝 SDK 2.5.20.3.0 | |
SSAI 插件 8.0.0 | SAI 參考 | 基本的SSAI樣本 | 無 | |
分析 | Omniture 插件 8.0.0 [3] | Omniture參考 | 影片程式庫 4.11.0 視訊訊號節奏 2.0.0 |
|
鉻 | 投射插件 8.0.0 | 演員表參考 | Brightcove 接收器樣本 Google 接收器示例 |
ExoPlayer Cast 擴展 2.17.1 |
合併外掛程式
使用適用於Android的Native SDK,可以將大多數插件組合在一起。這個示例應用向您展示瞭如何將Brightcove ExoPlayer與Google IMA廣告一起使用以及如何通過Widevine Modular進行內容保護。
樣本
Brightcove建議使用BrightcoveExoPlayerVideoView
盡可能實施。如需範例和程式碼片段,請參閱下列內容:
- 適用於 Android 的 Brightcove Native SDK 的所有示例
- Brightcove-exoplayer文件夾–樣本使用ExoPlayer實現。
- Brightcove播放器控件文件夾–概念可與ExoPlayer實現一起使用。
- 代碼段可幫助完成特定任務
下表包含程式碼範例的連結,這些連結除了與上一節中整合相關聯的範例。
範例應用程式 | 描述 |
---|---|
基本樣本 | 建立基本應用程式,從您的視訊雲端媒體櫃播放視訊。 |
鉻 | 將您的視頻投射到連接了Chromecast的電視上。有關概述,請參見適用於Android的Native SDK的Cast插件文件。 |
自定義控件 | 自定義播放器控件。 |
使用Widevine的DRM | 使用Widevine保護您的內容。Android 框架在使用 Exoplayer 視頻視圖時支持威德維文模塊化。有關詳細信息,請參見Widevine參考。 |
現場直播 | 創建一個運行HLS實時流的應用。 |
離線播放 | 下載並播放 DASH 影片,包括受 Widevine 加密保護的影片。如需概觀,請參閱「使用原生 SDK 離線播放」文件。 |
遠程視頻 | 從遠程服務器加載視頻。 |
影片清單 | 用一個RecyclerView 處理一組視頻。 |
360°視頻 | 只要設置了投射屬性,就可以播放360°視頻。點選控制列中的「視訊 360 視訊」按鈕時,視訊會以 VR 護目鏡模式顯示並排影像。有關詳細信息,請參見將360°視頻與Mobile SDK結合使用文件。 |
解決方案指南
下表包含指向開發人員文檔的鏈接,這些文檔將幫助您開始使用 Brightcove Native SDK 開發您自己的應用程序,並指導您了解一些可用的特性和功能。
指南 | 描述 |
---|---|
適用於 Android 設置的 Brightcove 本機 SDK | 通過引導您使用您自己的後端系統中的內容開發一個簡單的視頻播放應用程序,了解使用適用於 Android 的 Brightcove Native SDK 的基礎知識。 視訊雲端客戶將另外從 Brightcove 目錄服務擷取和播放視訊。 |
創建插件 | 了解如何為適用於 Android 的 Brightcove Native SDK 創建插件。 |
管理視圖佈局 | 了解如何管理添加到BrightcoveVideoView 。 |
處理方向變化 | 了解當方向改變時如何管理不必要的默認行為。 |
IAB 開放測量 | 了解如何搭配 IMA 外掛程式使用開放度量 SDK,以支援廣告評量和驗證的協力廠商工具。 |
來源選擇 | 瞭解播放視訊時的預設轉譯選取程序。 |
使用布萊特灣分析 | 了解如何使用適用於Android的Brightcove SDK通過移動應用程序在Brightcove Analytics中設置屬性。 |
使用播放器控件 | 了解如何自定義和隱藏播放器控件。 |
最佳實務
以下是您在使用 Brightcove 原生 SDK 時可能會有幫助的其他資訊。
使用IMA刊登廣告
VAST 廣告的放置位置通常由 VMAP 文件指定。VAST 說明廣告,而 VMAP 則描述影片中廣告的位置。有關代碼的詳細信息,請參見以下內容:
使用 IMA 廣告時,最好先檢查您的廣告是否在 SDK 以外運作,然後再實施這些廣告。以下鏈接將有助於此:
隨播廣告
Android TV不支持隨播廣告和點擊型廣告。由於Android TV不支持網絡瀏覽器,因此沒有指向點擊URL的目的地。
與ProGuard一起使用
使用ProGuard允許您創建更安全的應用程序,使它們更難以逆向工程。ProGuard已集成到Android構建系統中,因此您可以選擇啟用它或在沒有它的情況下進行構建。
如果在Gradle中啟用ProGuard時收到錯誤消息,請嘗試添加以下排除規則:
-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.** { *; }
有關Brightcove本機SDK使用的ProGuard規則的完整列表,請下載並解壓縮當前的Android本機SDK。打開sdk文件夾並查看proguard.txt
文件。
播放行為
您可能會在某些Android設備上註意到以下某些播放行為:
視頻暫停
Android的智能暫停當用戶將視線從設備屏幕上移開時,三星設備上的“視頻”功能將暫停視頻。如果您不希望視頻在啟用了智能暫停的設備上暫停,則可以禁用此功能。