IMA DAI SDK 시작하기

IMA SDK를 사용하면 멀티미디어 광고를 웹사이트와 앱에 쉽게 통합할 수 있습니다. IMA SDK는 원하는 형식에서 광고를 <ph type="x-smartling-placeholder"></ph> VAST 호환 광고 서버를 사용하고 앱에서 광고 재생을 관리할 수 있습니다. IMA DAI SDK를 사용하면 앱에서 광고 및 콘텐츠 동영상(VOD 또는 라이브 콘텐츠)에 대한 스트림 요청 그러면 SDK는 광고와 콘텐츠 동영상 간의 전환을 관리할 필요가 없음 표시할 수 있습니다.

관심 있는 DAI 솔루션 선택

<ph type="x-smartling-placeholder"></ph>

DAI를 게재하는 광고 모음

IMA SDK를 사용하면 멀티미디어 광고를 웹사이트와 앱에 쉽게 통합할 수 있습니다. IMA SDK는 원하는 형식에서 광고를 <ph type="x-smartling-placeholder"></ph> VAST 호환 광고 서버를 사용하고 앱에서 광고 재생을 관리할 수 있습니다. IMA DAI SDK를 사용하면 앱에서 광고 및 콘텐츠 동영상(VOD 또는 라이브 콘텐츠)에 대한 스트림 요청 그러면 SDK는 광고와 콘텐츠 동영상 간의 전환을 관리할 필요가 없음 표시할 수 있습니다.

이 가이드에서는 IMA DAI를 사용하여 DAI 광고 모음 게재 스트림을 재생하는 방법을 설명합니다. 라이브 및 VOD 스트림 재생을 위한 간단한 동영상 플레이어가 포함된 SDK입니다. 만약 자세히 알아보려면 광고 모음 게재 예

IMA DAI 광고 모음 게재 개요

  • StreamRequest: 다음에 대한 스트림 요청을 정의하는 객체입니다. Google 광고 서버 다음 중 하나를 사용하여 만들어야 합니다. ImaSdkFactory.createPodStreamRequest() 또는 ImaSdkFactory.createPodVodStreamRequest() 광고 모음 게재를 사용 설정합니다 이러한 메서드에는 네트워크 코드가 필요하며 createPodStreamRequest에는 맞춤 애셋 키API 키(선택사항) 둘 다 다른 선택적 매개변수를 포함합니다.

  • StreamManager: 동영상 스트림 및 IMA DAI SDK에 의해 실행될 수 있으며, 스트림 이벤트를 게시자에게 전달합니다.

기본 요건

광고 모음 게재 변수 설정

광고 모음 게재에 필요한 모든 변경사항은 SampleAdsWrapper.java에서 수행됩니다. 이 첫 번째 단계는 상수 변수를 업데이트하는 것입니다

추가할 광고 모음 스트림 요청 상수는 다음과 같습니다.

  • STREAM_URL: 라이브 스트림에만 사용됨 - YouTube에서 제공하는 동영상 스트림 URL입니다. 서드 파티 파트너에게 광고 모음 추가를 요청할 수도 있습니다 또한 IMA DAI SDK에서 제공한 스트림 ID를 삽입해야 요청할 수 있습니다 이 경우 스트림 URL에는 자리표시자, "[[STREAMID]]"는 스트림을 생성하기 전에 스트림 ID로 대체됩니다. 요청을 수행합니다.

  • NETWORK_CODE: Ad Manager 360 계정의 네트워크 코드입니다.

  • CUSTOM_ASSET_KEY: 라이브 스트림에만 사용됨 - Ad Manager 360에서 광고 모음 게재 이벤트를 식별합니다 이는 다음을 통해 만들 수 있습니다. 서드 파티 광고 모음 게재 파트너를 사용하는 것이 좋습니다

  • API_KEY: 라이브 스트림에만 사용 - API 키(선택사항)로, IMA DAI SDK에서 스트림 ID를 가져오는 데 필요합니다.

Android DAI BasicExample은 다양한 스트림을 재생하도록 설계되었습니다. 광고 모음 게재의 경우 단일 스트림만 재생하도록 설정되어 있습니다. 예의 변수 섹션을 다음과 일치하도록 변경합니다.

/** This class adds ad-serving support to Sample HlsVideoPlayer */
public class SampleAdsWrapper
        implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {

  // Podserving Stream Constants.
  private static final String STREAM_URL =
          "https://encodersim.sandbox.google.com/masterPlaylist/9c654d63-5373-4673-8c8d-6d92b66b9d46/" +
          "master.m3u8?gen-seg-redirect=true&amp;network=51636543&amp;event=google-sample" +
          "&amp;pids=devrel4628000,devrel896000,devrel3528000,devrel1428000,devrel2628000,devrel1928000" +
          "&amp;seg-host=dai.google.com&amp;stream_id=[[STREAMID]]";
  private static final String NETWORK_CODE = "51636543";
  private static final String CUSTOM_ASSET_KEY = "google-sample";
  private static final String API_KEY = "";

  private static final String PLAYER_TYPE = "DAISamplePlayer";

  /** Log interface, so we can output the log commands to the UI or similar. */
  public interface Logger {

...

실시간 또는 VOD 광고 모음 스트림 요청을 만들어 광고 모음 게재를 사용 설정합니다.

라이브 스트림 광고 모음 게재

다음 명령어로 전환하는 데 사용된 buildStreamRequest() 메서드를 삭제합니다. 여러 스트림 유형을 빌드하는 방법을 알아봅니다. 그런 다음 requestAndPlayAds()를 다음과 같이 변경합니다. 라이브 광고 모음 게재 광고를 만들기 위한 ImaSdkFactory.createPodStreamRequest() 요청을 수행합니다. 마지막으로 AdsLoader.requestStream()를 사용하여 스트림을 요청합니다.

public void requestAndPlayAds() {
  StreamRequest request =
      sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);
  request.setFormat(StreamFormat.HLS);

  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  adsLoader.requestStream(request);
}

VOD 스트림 광고 모음 게재

다음 명령어로 전환하는 데 사용된 buildStreamRequest() 메서드를 삭제합니다. 여러 스트림 유형을 빌드하는 방법을 알아봅니다. 그런 다음 requestAndPlayAds()를 다음과 같이 변경합니다. VOD 광고 모음 게재 광고를 만들기 위한 ImaSdkFactory.createPodVodStreamRequest() 요청을 수행합니다. 마지막으로 AdsLoader.requestStream()를 사용하여 스트림을 요청합니다.

public void requestAndPlayAds() {
  StreamRequest request =
      sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
  request.setFormat(StreamFormat.HLS);

  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  adsLoader.requestStream(request);
}

스트림 URL 수정 및 설정

라이브 스트림 광고 모음 게재

StreamManager.getStreamId()를 호출하여 스트림 ID를 가져옵니다. 그런 다음 STEAM_URL에 삽입되어 "[[STREAMID]]"를 대체합니다. 변경 후에는 만든 경우 videoPlayer.setStreamUrl()를 사용하여 새 스트림 URL을 설정할 수 있습니다.

@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
  streamManager = event.getStreamManager();
  streamManager.addAdErrorListener(this);
  streamManager.addAdEventListener(this);

  // To enable streams
  String streamID = streamManager.getStreamId();
  String streamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);

  streamManager.init();

  videoPlayer.setStreamUrl(streamUrl);
  videoPlayer.play();
}

VOD 스트림 광고 모음 게재

StreamManager.getStreamId()를 호출하여 스트림 ID를 가져옵니다. 그런 다음 스트림 URL을 입력하세요. 그런 다음 StreamManager.loadThirdPartyStream()하여 IMA가 스트림 URL 및 모든 TVP에서 제공한 자막입니다.

@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
  streamManager = event.getStreamManager();
  streamManager.addAdErrorListener(this);
  streamManager.addAdEventListener(this);

  // To enable streams
  String streamID = streamManager.getStreamId();
  // 'vtpInterface' is a place holder for your own video technology partner
  // (VTP) API calls.
  String streamUrl = vtpInterface.requestStreamURL(streamID);

  streamManager.init();

  // Pass any subtitles returned by your VTP in this step as well.
  streamManager.loadThirdPartyStream(streamUrl, subtitles);
}

광고 모음 게재가 사용 설정되면 IMA는 VideoStreamPlayer.loadUrl(): videoPlayer.setStreamUrl()videoPlayer.play()입니다.

작업이 끝났습니다. 이제 사용할 수 있습니다. 사용되는 Android SDK의 다른 예를 확인하려면 여기 GitHub의 샘플