概要
Android 6.15.0 以降のBrightcoveネイティブ SDK では、Google IMA SDK バージョン 3.19.4 がサポートされています。IMA広告を使用している場合は、このバージョンのIMAプラグインを使用するために注意すべきことがいくつかあります。それらには次のものが含まれます。
グーグルIMA SDKの変更点
Brightcoveのネイティブ SDK は Google IMA SDK をバージョン 3.11.2 からバージョン 3.19.4 に更新しました。最も関連性の高い変更は次のとおりです。
-
SdkFactory.createAdDisplayContainer()
非推奨です -
AdDisplayContainer.setPlayer(VideoAdPlayer)
非推奨です -
AdDisplayContainer.setAdContainer(ViewGroup)
非推奨です -
AdsRequest.setAdDisplayContainer(AdDisplayContainer)
削除されました
フルリリースについては、 Google IMA Android SDKのリリース履歴ドキュメントを参照してください。
Brightcove IMA プラグインの変更点
Brightcove IMA プラグインは、新しい Google IMA SDK バージョンと完全に互換性を持たせるために、いくつかの変更を加えました。それらには次のものが含まれます。
GoogleimaCOMPONent ビルダーの使用
GoogleIMAComponent
ビルダーを使用してインスタンスを作成することをお勧めします。これにより、の設定が簡単になりますGoogleIMAComponent
。
googleIMAComponent = new GoogleIMAComponent.Builder(brightcoveVideoView, eventEmitter)
.setUseAdRules(true)
.setImaSdkSettings(customIMASDKSettings)
.setAdsRenderingSettings(customAdsRenderingSettings)
.setAdDisplayContainerFactory(customAdDisplayContainerFactory)
.build();
}
adDisplayContainer の作成
Google IMA SDK が削除されたためAdsRequest.setAdDisplayContainer(...)
、Brightcove IMA GoogleIMAVideoAdPlayer
プラグインはとを使用して、これを自動的に作成するようになりましたBaseVideoView
。
AdDisplayContainerFactory
プラグインを作成するには、が必要ですAdDisplayContainer
。
public interface AdDisplayContainerFactory {
/**
* Creates the AdDisplayContainer with the provided GoogleIMAVideoAdPlayer
* and the ViewGroup retrieved with getViewContainer()
*
* @param googleIMAVideoAdPlayer the Brightcove Ad Player for Google IMA
*/
AdDisplayContainer createAdDisplayContainer(GoogleIMAVideoAdPlayer googleIMAVideoAdPlayer);
/**
* Returns the ViewGroup container used for both,
* the creation of the GoogleIMAVideoAdPlayer and the AdDisplayContainer
*/
ViewGroup getViewContainer();
}
ボンネットの下では、プラグインはDefaultAdDisplayContainerFactory
、AdDisplayContainerFactory
、を使用してを作成しますAdDisplayContainer
。は、getViewContainer()
BaseVideoView
コンストラクタで渡されたを返し、createAdDisplayContainer
メソッドは以下を返します。
ImaSdkFactory.createAdDisplayContainer(getViewContainer(), googleIMAVideoAdPlayer);
addisplayContainerFactory
別の実装が必要な場合は、AdDisplayContainerFactory
独自の実装をGoogleIMAComponent
Builder に渡す必要があります。
googleIMAComponent = new GoogleIMAComponent.Builder(brightcoveVideoView, eventEmitter)
.setAdDisplayContainerFactory(customAdDisplayContainerFactory)
.build();
以外の別のビューで広告を再生する場合はBaseVideoView
、DefaultAdDisplayContainerFactory
をに提供できますViewGroup
。
googleIMAComponent = new GoogleIMAComponent.Builder(brightcoveVideoView, eventEmitter)
.setAdDisplayContainerFactory(new DefaultAdDisplayContainerFactory(myViewGroup))
.build();
GoogleImaVideoadPlayer で廃止されたメソッド
GoogleIMAVideoAdPlayer
クラスでは、次のメソッドは非推奨です。
非推奨のメソッド | 代わりに使って |
---|---|
playAd() |
playAd(AdMediaInfo) |
loadAd(String) |
loadAd(AdMediaInfo, AdPodInfo) |
stopAd() |
stopAd(AdMediaInfo) |
resumeAd() |
playAd(AdMediaInfo) |
pauseAd() |
pauseAd(AdMediaInfo) |
置換方法では、必要なことに注意してくださいAdMediaInfo
。を呼び出して、AdMediaInfo
現在のオブジェクトを取得できますGoogleIMAVideoAdPlayer.getCurrentAdMediaInfo()
。これは、ロードされたAdMediaInfo
、またはを返しますNull
。
IMA プラグインへの移行 6.15.0
Brightcove IMA プラグイン 6.15.0 に移行するには、次の手順に従います。
依存バージョンを更新する
アプリを更新して、次の依存関係バージョンを使用します。
- Brightcove SDK の依存関係はすべてバージョン 6.15.0 に設定されています
- グーグルIMA SDKバージョン3.19.4を使用してください
- グーグルプレイサービスバージョン19.2.0を使用する
build.gradleファイルの例は次のとおりです。
//build.gradle
dependencies {
//Brightcove SDK dependencies
implementation "com.brightcove.player:android-sdk6.15.0:"
implementation "com.brightcove.player:exoplayer2:6.15.0"
implementation "com.brightcove.player:android-ima-plugin:6.15.0"
//Google IMA SDK
implementation "com.google.ads.interactivemedia.v3:interactivemedia:3.19.4"
//Google Play Services
implementation "com.google.android.gms:play-services-ads:19.2.0"
...
}
廃止されたメソッドを削除する
現在の Google IMA の設定は次のようになります。
AdDisplayContainer container = sdkFactory.createAdDisplayContainer();
container.setPlayer(googleIMAComponent.getVideoAdPlayer());
container.setAdContainer(brightcoveVideoView);
これら 3 つのメソッドは非推奨であり、消えます。
googleIMAComponent.getAdDisplayContainer()
ここで呼び出すと、AdDisplayContainer
関連付けられたGoogleIMAVideoAdPlayer
、または使用できない場合は null。
の作成の詳細についてはAdDisplayContainer
、「 adDisplayContainer の作成」セクションを参照してください。
次のメソッドも Google IMA SDK から削除されました。
adsRequest.setAdDisplayContainer(container);
代わりに、AdDisplayContainer
を使用して Google IMA のインスタンスを作成しますAdsLoader
。
廃止されたメソッドとその置換の詳細については、 GoogleImaVideoAdPlayer セクションの「非推奨のメソッド」を参照してください。
詳細情報
IMA の変更の詳細については、 Google IMA Android SDK のリリース履歴のドキュメントを参照してください。
関連する質問については、Brightcove SDK フォーラムを通じて、Brightcove SDK チームにお問い合わせください。