概要:Android用BrightcoveネイティブSDK
ドキュメント構造
Brightcoveでは、ドキュメントの構造化、クリーン化、直感的な維持に努めています。そのため、すべてのプラグインと統合の詳細については、github ReadMes を活用しています。便宜上、これらのプラグインを以下にリストし、リンクしています。
サポートされているバージョン
Android 用ネイティブプレーヤー 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
サポートレベルを理解する
サポートは [メジャーバージョン] で定義されています。OS の [マイナーバージョン] (例:Android 8.1)。Google の最新のテクノロジの向上を利用するために、2 つのレベルのサポートを提供しています。
- アクティブ :Brightcoveは、これらの OS バージョンのバグをテストし、修正します。
- パッシブ :BrightcoveはこれらのOSバージョンのテストを行いますが、バグの修正についてはケースバイケースで処理されます。
通常Brightcoveはユーザー基盤の80%に使用されているOSバージョンについてアクティブなサポートを提供し、他のバージョンについては、ユーザー基盤の5%以上に使用されているものに対してはパッシブなサポートを提供します。
接続されたテレビ/セットトップボックス
Android 用ネイティブプレーヤー SDK は、次の Android ベースのセットトップボックスのサポートを提供します。
- Android TV
- Fire TV (FireOS 5.0+ デバイス)
テストしたセットトップボックスデバイスは次のとおりです。
- ネクサスプレイヤー
- NVIDIA シールド
Android 用 Brightcove ネイティブ SDK サンプルアプリは、Android TV と Fire TV で動作します。つまり、テレビベースのアプリには、広告、コンテンツ保護(DRM)、ライブ再生、カスタム UI コントロール、Brightcoveアナリティクス、QoE 指標を含めることができます。
テレビアプリの UI コントロールのスタイル設定の詳細については、Styled Controls サンプルアプリをご覧ください。
入門編
Android SDKの開発を開始する前に、いくつかの概念について学ぶ必要があります。
- メディア
Native Player SDK の現在のバージョンでは、再生 API を介して Video Cloud アカウントからコンテンツを再生したり、インターネットにアクセスできる URL を持つリモートアセットとしてコンテンツを再生できます。
- アナリティクス
ネイティブプレーヤー SDK を使用すると、Video Cloud のお客様は、Video Cloud でレポートされた堅牢な分析データを自動的に取得します。
- グラドル
Gradleは、AndroidのSDKビルドシステムの基盤であり、Androidスタジオと統合されています。
- Maven レポ
Android 用 Brightcove ネイティブプレーヤーの Maven アーティファクト (jar ファイル) が Brightcove Maven レポで利用できるようになりました- https://repo.brightcove.com/releases
- Android SDKの概要
SDK を理解しやすくするために、ネイティブビデオプレーヤーを制御する複雑さを処理するために、重要なコンポーネントがどのように相互作用するかを学習します。
- Android 用ネイティブ SDK を使用してアプリを構築する
Android 用 Brightcove Player SDK を使用して最初のアプリを作成します。SDK は、独自のバックエンドシステムから動画を再生します。Video Cloud のお客様は、さらに Brightcove カタログサービスから動画を取得して再生します。
- SDK 開発者フォーラム
SDK 開発者フォーラムにご参加ください。SDK 関連の質問には、Brightcoveのエンジニアとコミュニティが回答します。以前に回答した質問を検索するか、新しい質問を投稿します。パブリックグループとして、電子メールアドレスを指定してアクセスすることができます。
- ビデオオンデマンドトレーニング
ビデオクラウドライブラリからビデオとプレイリストを再生する Android Studio でアプリを構築する手順を説明する一連のトレーニングビデオをご覧ください。
SDKのダウンロード
Android 版 Brightcove ネイティブ SDK の最新バージョンを入手する:
パッケージ (Githubリポジトリ) |
リファレンス・ドキュメント | 注 | サポートされているフレームワーク | サンプル | |
---|---|---|---|---|---|
SDK | Androidv8.1.1用のネイティブSDK | SDKリファレンス | リリースノート | exoPlayer 2 v2.17.1 | サンプルアプリケーション |
または、このボタンを選択します。
すべてのネイティブ SDK および関連するプラグインの製品アップデートを確認するには、 Brightcove ネイティブ SDK ドキュメントのリリースノートを参照してください。
注
次の注意事項は、ネイティブ SDK の最新バージョンを参照してください。
-
バージョン 6.10.0 以降、Brightcoveのネイティブ SDK for Android では、元のサポートライブラリの代わりに Jetpack (androidx.*) ライブラリが使用されます。この変更は、Exodplayer バージョン 2.10.0 以降で必要です。Jetpack を使用するには、アプリが次の要件を満たしている必要があります。
- ジェットパック(AndroidX)依存関係に移行する
- Androidグラドルツール3.2.0
- Gradleバージョン4.6
JetPack への移行方法の詳細については、公式の Android 移行ガイドを参照してください。
- Android 版 Brightcove ネイティブ SDK でサポートされている Android の最小 SDK バージョンは 19 になりました。
- exoPlayer v2.9.0 以降では、Java 8 のサポートを有効にする必要があります。これを行うには、以下をに追加します
android
アプリのセクションbuild.gradleファイル。詳細については、 AndroidのexoPlayerドキュメントを参照してください。android { compileOptions { targetCompatibility JavaVersion.VERSION_1_8 } }
これは、
compileSdkVersion
プロジェクトの値に基づいてデフォルトの Java バージョンを上書きします。
コア SDK のインストール
Brightcoveのコア SDK のインストールは非常に簡単です。これを行うには、次の 2 つの方法があります。
gradleビルドシステムの使用
Brightcove SDK とその依存関係を追加する最も簡単な方法は、Android Studio で gradle ビルドシステムを使用することです。
'+で動的依存関係バージョンを使用する' Gradleコミュニティではキャラクターは推奨されていません。動的バージョニングを使用すると、新しい API がアプリのソースコードと予期せず互換性がなくなる可能性があるため、ビルドプロセスに大きなリスクが生じます。
gradle の使用の詳細については、Android の「ビルド依存関係の追加」ドキュメントを参照してください。
SDKを手動でダウンロードする
次の手順に従って、Brightcove SDK を手動でダウンロードすることもできます。
- SDKをダウンロードして解凍するだけです。あなたはいくつかのフォルダを見つけるでしょう。
- SDKフォルダ内には、Android-sdk-x.x.x.aarという名前のコアSDKを見つけるでしょう。 x.x.xは最新のSDKバージョン番号です。
- Android-sdk-x.x.x.aar ファイルを、必要なプラグインファイルとともに、ライブラリに追加します。
統合
次の表に、SDK 実装と統合するプラグインを取得するためのリンクを示します。プラグインはそれぞれのGithub Reposからダウンロードでき、各リポジトリには、プラグインの設定方法に関する詳細なREADMEが含まれています。
サンプルアプリケーションは、SDK に統合された各プラグインの基本機能を示しています。これらのサンプルアプリは、各プラグインについて学習するのに良い方法であり、デバッグ時の参照ポイントとして機能します。
Category | Brightcoveプラグイン | リファレンス・ドキュメント | サンプルアプリ | サポートされているパートナー/ベンダープラグイン |
---|---|---|---|---|
広告 | FreeWheelプラグイン8.1.1 [1] | フリーホイールリファレンス | FreeWheel の基本サンプル | FreeWheel AdManager ライブラリ 6.28.0 |
フリーホイール Widevine モジュラーサンプル付き | ||||
IMAプラグイン8.1.1 [2] | IMAリファレンス | IMAサンプルを使用した広告ルール | Google IMA 3.21.1 | |
IMAとWidevineサンプルの広告ルール | ||||
基本的な IMA サンプル [3] | ||||
パルスプラグイン8.1.1 | パルスリファレンス | パルスサンプル | パルス SDK 2.5.20.1.0 | |
SSAIプラグイン8.1.1 | SSAI リファレンス | 基本的な SSAI サンプル | なし | |
アナリティクス | Omnitureプラグイン8.1.1 [4] | オムニキュアリファレンス | 基本オムニツアサンプル | AdobeVideoLibrary 4.11.0 VideoHeartbeat 2.0.0 |
Chromecast | キャストプラグイン8.1.1 | キャストリファレンス | Brightcoveレシーバーサンプル Googleレシーバーサンプル |
ExoPlayer キャスト拡張子 2.17.1 |
プラグインを組み合わせる
Android 用ネイティブ SDK では、ほとんどのプラグインを組み合わせることができます。このサンプルアプリでは、Google IMA 広告で Brightcove ExoPlayer を使用し、Widevine Modular でコンテンツ保護を使用する方法を示します。
サンプル
Brightcoveでは、BrightcoveExoPlayerVideoView
可能な場合は実装を使用することをお勧めします。サンプルとコードスニペットについては、以下を参照してください。
- Android 版 Brightcove Player SDK のすべてのサンプル
- brightcove-exoflayer フォルダ — サンプルでは ExoPlayer 実装を使用します。
- Brightcoveプレーヤーコントロールフォルダ— コンセプトは ExoPlayer 実装で使用できます。
- 特定のタスクに役立つコードスニペット
次の表には、前のセクションの統合に関連付けられたサンプルに加えて、コードサンプルへのリンクが含まれています。
サンプル アプリケーション | 説明 |
---|---|
基本サンプル | Video Cloud ライブラリからビデオを再生する基本アプリを作成します。 |
Chromecast | ChromeCastに接続されたテレビに動画をキャストします。概要については、ネイティブ SDK for Android 用のキャストプラグインを参照してください。 |
カスタムコントロール | プレーヤーコントロールをカスタマイズします。 |
WidevineでDRM | Widevineでコンテンツを保護しましょう。Androidフレームワークは、ExoPlayerビデオビューを使用する場合、Widevineモジュラーをサポートしています。詳細については、 Widevine リファレンスを参照してください。 |
ライブストリーム | HLS ライブストリームを実行するアプリを作成します。 |
オフライン再生 | Widevine暗号化で保護されているものを含む、ダッシュビデオをダウンロードして再生します。概要については、「ネイティブ SDK を使用したオフライン再生」ドキュメントを参照してください。 |
リモートビデオ | リモートサーバーからビデオを読み込みます。 |
ビデオリスト | RecyclerView 一連のビデオを処理するには、を使用します。 |
360° ビデオ | projection プロパティが設定されている限り、360° ビデオを再生します。コントロールバーの Video 360 ボタンをタップすると、ビデオは VR ゴーグルモードで画像を並べて表示されます。詳細については、「モバイル SDK で 360° ビデオを使用する」ドキュメントを参照してください。 |
ソリューションガイド
次の表に、Brightcove Player SDK を使用して独自のアプリを使い始めるのに役立つ開発者ドキュメントへのリンクと、利用可能な機能の一部について説明します。
ガイド | 説明 |
---|---|
Android 用Brightcove Player SDK セットアップ | Android 用 Brightcove Player SDK の基本的な操作方法を学ぶには、独自のバックエンドシステムのコンテンツを使用した簡単な動画再生アプリの開発について説明します。 Video Cloud のお客様は、さらに Brightcove カタログサービスから動画を取得して再生します。 |
プラグインの作成 | Android 版 Brightcove Player SDK 用のプラグインを作成する方法について説明します。 |
ビューレイアウトの管理 | に追加されたビューのレイアウトを管理する方法について説明しますBrightcoveVideoView 。 |
方向の変更の処理 | 方向が変更されたときの望ましくない既定の動作を管理する方法について説明します。 |
IAB オープン測定 | Open Measurement SDK を IMA プラグインで使用し、広告測定と検証用のサードパーティツールをサポートする方法について説明します。 |
ソース選択 | ビデオを再生するときのデフォルトのレンディション選択プロセスについて説明します。 |
Brightcoveアナリティクスの使用 | Android 用 Brightcove SDK を使用して、モバイルアプリから Brightcove アナリティクスでプロパティを設定する方法について説明します。 |
プレーヤーコントロールの操作 | プレーヤーコントロールをカスタマイズおよび非表示にする方法を説明します。 |
ベストプラクティス
ここでは、Brightcove ネイティブ SDK で作業する際に役立つ追加情報を示します。
IMAで広告
VAST 広告の配置は、通常 VMAP ドキュメントによって指定されます。VAST は広告を説明し、VMAP は動画内の広告の配置を表します。コードの詳細については、以下を参照してください。
IMA広告を扱う場合は、広告を実装する前に、SDKの外で広告が機能することを確認することをお勧めします。このためには、次のリンクが役立ちます。
コンパニオン広告
Android TV では、コンパニオン広告とクリックスルー広告はサポートされていません。Android TV では Web ブラウザーのサポートがないため、クリックスルー 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 用 Native SDK をダウンロードして解凍してください。SDKフォルダを開き、proguard.txt
ファイルを表示します。
再生動作
特定の Android デバイスでは、次の再生動作の一部に気付くことがあります。
ビデオの一時停止
Samsungデバイス上のAndroidのスマートポーズ機能は、ユーザーがデバイスの画面から離れるとビデオを一時停止します。Smart Pause対応デバイスでビデオを一時停止したくない場合は、この機能を無効にすることができます。