네이티브 SDK를 사용한 IMA 개방 측정

이 주제에서는 Brightcove 네이티브 SDK 용 IMA 플러그인과 함께 Open Measurement SDK를 사용하는 방법을 배웁니다.

개요

브라이트코브 네이티브 SDK는 이제개방형 측정 SDK (OM SDK) 사용을 지원합니다. Google IMA와 통합 된 OM SDK를 사용하면 광고 측정 및 확인에 타사 도구를 사용할 수 있습니다.

Open Measurement SDK는 광고 미디어 요소에 오버레이되는 모든보기를 방해물로 간주하고 광고 조회 가능성을 줄입니다. 동영상 컨트롤은 '친화적 인'장애물로 간주 될 수 있지만 광고 조회 가능성 측정에서 제외하려면 OM SDK에 등록해야합니다.

iOS

iOS용 브라이트코브 네이티브 SDK는 OM SDK 사용을 지원합니다. 타사 광고 측정 구현에 대한 자세한 내용은 iOS용 IMA SDK의공개 측정문서를 참조하십시오.

UI 오버레이

IMA 광고보기를 오버레이하는 UI 제어 요소를 사용하는 경우이를 OM SDK에 등록하는 것이 좋습니다. 자세한 내용은 iOS용 네이티브 SDK 레퍼런스의 광고 오버레이등록섹션을 참조하십시오.

IMA 설정

기본적으로 iOS용 브라이트코브 네이티브 SDK는 다음과 같은 값으로playerTypeplayerVersion속성을 설정합니다.

imaSettings.playerType = @"bcov/ios-sdk-player";
imaSettings.playerVersion = [BCOVIMAComponent versionIdentifier];

이러한 값을 재정의 할 수 있습니다. 한 가지 예는 Google IMA에서 직접보고 된 광고 통계를 가져 오는 것입니다. 고유한 값을 사용하려면imaSettings객체에 다음을 설정합니다.

imaSettings.playerType = @"your-player-type";
imaSettings.playerVersion = @"your-player-version"

iOS용 네이티브 SDK와 함께 IMA 광고를 사용하는 방법에 대한 코드 세부 정보는 BasicImaPlayer 샘플을 참조하십시오 .

Android

Android 용 Brightcove Native SDK는 OM SDK 사용을 지원합니다. 타사 광고 측정 구현에 대한 자세한 내용은 Android용 IMA SDK의공개 측정문서를 참조하십시오.

UI 오버레이

IMA 광고보기를 오버레이하는 UI 제어 요소를 사용하는 경우이를 OM SDK에 등록하는 것이 좋습니다. 이를 위해 코드는 다음과 같습니다.

public class MainActivity extends BrightcovePlayer {
 // ...
 private AdDisplayContainer adDisplayContainer;
 private View adOverlayView;
 // ...

 @Override
 protected void onCreate(Bundle savedInstanceState) {
   // ...
   adOverlayView = findViewById(R.id.ad_overlay);
   setupGoogleIMA();
   // ...
 }

 private void setupGoogleIMA() {
   // Show adOverlayView
   eventEmitter.on(EventType.AD_BREAK_STARTED, (event) ->  {
       adOverlayView.setVisibility(View.VISIBLE);
   });

   // Hide adOverlayView
   eventEmitter.on(EventType.AD_BREAK_COMPLETED, (event) ->  {
       adOverlayView.setVisibility(View.GONE);
   });

   // Create ImaSdkFactory
   final ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
   eventEmitter.on(GoogleIMAEventType.ADS_REQUEST_FOR_VIDEO, new EventListener() {
     @Override
     public void processEvent(Event event) {
       // Create a container object to register the friendly obstructions.
       adDisplayContainer = sdkFactory.createAdDisplayContainer();
       adDisplayContainer.registerVideoControlsOverlay(adOverlayView);
       // ...
     }
   });

   eventEmitter.on(EventType.COMPLETED, (event) -> {
     if (adDisplayContainer != null) {
       // Unregister the friendly obstructions
       adDisplayContainer.unregisterAllVideoControlsOverlays();
     }
   });
 }
}

IMA 설정

기본적으로 iOS용 브라이트코브 네이티브 SDK는 다음과 같은 값으로playerTypeplayerVersion속성을 설정합니다.

imaSdkSettings.setPlayerType("bcov/and-sdk-player");
imaSdkSettings.setPlayerVersion("<replaced with current sdk version>");

이러한 값을 재정의 할 수 있습니다. 한 가지 예는 Google IMA에서 직접보고 된 광고 통계를 가져 오는 것입니다. 고유한 값을 사용하려면imaSdkSettings객체에 다음을 설정합니다.

ImaSdkSettings imaSdkSettings = imaSdkFactory.createImaSdkSettings();
imaSdkSettings.setPlayerType("your-player-type");
imaSdkSettings.setPlayerVersion("your-player-version");
GoogleIMAComponent googleIMAComponent = new GoogleIMAComponent(brightcoveVideoView, eventEmitter, imaSdkSettings);

Android용 네이티브 SDK와 함께 IMA 광고를 사용하는 방법에 대한 코드 세부 정보는 AdRulesiMasampleApp 샘플을 참조하십시오 .