개요
Android 8.0.0 이상용 Brightcove Native SDK는 Google IMA SDK 버전 3.27.1을 지원합니다. IMA 광고를 사용하는 경우이 버전의 IMA 플러그인을 사용하기 위해 알아야 할 몇 가지 사항이 있습니다. 여기에는 다음이 포함됩니다.
Google IMA SDK의 변경 사항
Brightcove Native SDK는 Google IMA SDK를 버전 3.11.2에서 버전 3.27.1로 업데이트했습니다. 가장 관련성이 높은 변경 사항은 다음과 같습니다.
-
SdkFactory.createAdDisplayContainer()
는 더 이상 사용되지 않습니다. -
AdDisplayContainer.setPlayer(VideoAdPlayer)
는 더 이상 사용되지 않습니다. -
AdDisplayContainer.setAdContainer(ViewGroup)
는 더 이상 사용되지 않습니다. -
AdsRequest.setAdDisplayContainer(AdDisplayContainer)
가 제거되었습니다.
전체 릴리스에 대해서는 Google IMA Android SDK 출시 내역문서.
Brightcove IMA 플러그인의 변경 사항
Brightcove IMA 플러그인은 새로운 Google IMA SDK 버전과 완전히 호환되도록 몇 가지 변경 사항을 적용했습니다. 여기에는 다음이 포함됩니다.
GoogleIMAComponent Builder 사용
빌더를 사용하여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
빌더 :
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 플러그인 8.0.0으로 마이그레이션
Brightcove IMA Plugin 8.0.0으로 마이그레이션하려면 다음 단계를 따르십시오.
종속성 버전 업데이트
다음 종속성 버전을 사용하도록 앱을 업데이트하십시오.
- 버전 8.0.0으로 설정된 모든 Brightcove SDK 종속성
- Google IMA SDK 버전 3.27.1 사용
다음은 build.gradle파일:
//build.gradle
dependencies {
//Brightcove SDK dependencies
implementation "com.brightcove.player:android-sdk8.0.0:"
implementation "com.brightcove.player:exoplayer2:8.0.0"
implementation "com.brightcove.player:android-ima-plugin:8.0.0"
//Google IMA SDK
implementation "com.google.ads.interactivemedia.v3:interactivemedia:3.27.1"
...
}
더 이상 사용되지 않는 메서드 제거
현재 Google IMA 설정은 다음과 유사 할 수 있습니다.
AdDisplayContainer container = sdkFactory.createAdDisplayContainer();
container.setPlayer(googleIMAComponent.getVideoAdPlayer());
container.setAdContainer(brightcoveVideoView);
이 세 가지 방법은 더 이상 사용되지 않으며 사라집니다.
이제 전화해야합니다googleIMAComponent.getAdDisplayContainer()
그리고 그것은AdDisplayContainer
관련GoogleIMAVideoAdPlayer
, 또는 사용할 수없는 경우 null입니다.
만들기에 대한 자세한 내용은AdDisplayContainer
, 참조 AdDisplayContainer 만들기부분.
다음 메소드도 Google IMA SDK에서 제거되었습니다.
adsRequest.setAdDisplayContainer(container);
대신AdDisplayContainer
Google IMA의 인스턴스를 만들려면AdsLoader
.
더 이상 사용되지 않는 메서드 및 대체 방법에 대한 자세한 내용은 GoogleIMAVideoAdPlayer에서 사용되지 않는 메소드부분.
더 많은 정보
IMA 변경에 대한 자세한 내용은 Google IMA Android SDK 출시 내역선적 서류 비치.