광고 재생목록 자동화

플랫폼 선택: HTML5 Android iOS tvOS

SDK 작동 모드

SDK는 광고 서버에서 수신하는 광고 응답에 따라 하나 이상의 모드로 작동할 수 있습니다.

단일 광고
메시지가 IMAAdsManager에 전송될 때 언제든지 재생할 수 있는 광고입니다.start 단일 광고를 재생하는 데는 특별한 초기화가 필요하지 않습니다.
광고 모음
start 메시지가 IMAAdsManager에 전송될 때 연속으로 재생되는 여러 광고 단일 광고 포드를 재생하는 데 특별한 초기화가 필요하지 않습니다.
광고 규칙
특정 콘텐츠에 대해 특정 시간에 예약된 광고 시점 재생목록입니다. start 메시지는 광고 규칙 모드에서 무시됩니다. 하나의 재생목록 내에 여러 광고 시점 (예: 프리롤, 미드롤, 포스트롤)이 예약될 수 있습니다. 자세한 구현 내용은 아래의 광고 규칙 섹션을 참고하세요.

광고 규칙

IMA iOS SDK는 완전 자동 광고 재생목록을 지원합니다. 이 기능은 광고를 트래피킹할 때 Google Ad Manager에 지정된 대로 콘텐츠에 광고 시점을 삽입합니다. 또한 프리롤, 미드롤, 포스트롤을 비롯한 광고 시간을 지원하는 데 필요한 동영상 플레이어 코드를 크게 간소화합니다.

  • Ad Manager에서 광고를 트래피킹할 때 '콘텐츠 시작 시 항상 광고 시점 재생' 또는 '30분마다 1분 광고 시점 재생'과 같은 다양한 광고 규칙을 지정할 수 있습니다.
  • 광고가 요청되면 광고 서버는 광고 재생목록을 반환할 수 있습니다. SDK는 재생목록을 처리하고 지정된 광고 시점을 자동으로 예약합니다.
  • AdsManager를 초기화할 때 initializeWithContentPlayhead:adsRenderingSettings: 호출을 통해 IMAContentPlayhead 객체가 전달됩니다. AVPlayer를 사용하여 콘텐츠를 표시하는 경우 adDisplayContainer를 만들 때 IMAAVPlayerContentPlayhead 인스턴스를 SDK에 전달합니다. 이 객체는 콘텐츠 재생 진행률을 추적하여 광고 시점이 Ad Manager에 지정된 시간에 자동으로 삽입되도록 하는 데 사용됩니다.

    AVPlayer 사용:

    IMAContentPlayhead *contentPlayhead =
        [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer];
    IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl
                                                  adDisplayContainer:adDisplayContainer
                                                     contentPlayhead:contentPlayhead
                                                         userContext:nil];

    AVPlayer가 없는 경우:

    1. IMAContentPlayhead 인터페이스를 구현합니다.
    2. currentTime를 구현하여 동영상 플레이어의 현재 시간을 반환합니다.
    3. initializeWithContentPlayhead:self를 사용하도록 IMAAdsManager 초기화 호출을 변경합니다.
  • IMAAdsManagerDelegate는 광고 시간이 재생될 때 콘텐츠를 일시중지하고 다시 시작하는 데 사용됩니다.

참고: 콘텐츠 재생이 완료되거나 사용자가 재생을 중지한 경우 콘텐츠 재생이 완료되었음을 SDK에 알리기 위해 IMAAdsLoader에서 contentComplete를 호출해야 합니다. 그런 다음 SDK는 예정된 광고 시점이 있는 경우 이를 재생합니다. ALL_ADS_COMPLETED 이벤트는 모든 광고가 재생되면 발생합니다. 또한 콘텐츠 추적은 IMAAdsManagerinitializeWithContentPlayhead:adsRenderingSettings 메서드가 호출될 때 시작되므로 콘텐츠를 재생하기 전에 항상 initializeWithContentPlayhead:adsRenderingSettings를 호출해야 합니다.