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가 없는 경우:
IMAContentPlayhead
인터페이스를 구현합니다.currentTime
를 구현하여 동영상 플레이어의 현재 시간을 반환합니다.initializeWithContentPlayhead:self
를 사용하도록IMAAdsManager
초기화 호출을 변경합니다.
- IMAAdsManagerDelegate는 광고 시간이 재생될 때 콘텐츠를 일시중지하고 다시 시작하는 데 사용됩니다.
참고: 콘텐츠 재생이 완료되거나 사용자가 재생을 중지한 경우 콘텐츠 재생이 완료되었음을 SDK에 알리기 위해 IMAAdsLoader
에서 contentComplete
를 호출해야 합니다. 그런 다음 SDK는 예정된 광고 시점이 있는 경우 이를 재생합니다.
ALL_ADS_COMPLETED
이벤트는 모든 광고가 재생되면 발생합니다. 또한 콘텐츠 추적은 IMAAdsManager
의 initializeWithContentPlayhead:adsRenderingSettings
메서드가 호출될 때 시작되므로 콘텐츠를 재생하기 전에 항상 initializeWithContentPlayhead:adsRenderingSettings
를 호출해야 합니다.