概要
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 チームにお問い合わせください。