廣告規則

SDK 運作模式

SDK 可根據廣告伺服器接收的廣告回應,以一或多種模式運作。

單一廣告
start 訊息傳送至 IMAAdsManager 時,可隨時播放的廣告。不需要特別初始化即可播放單一廣告。
廣告連播
start 訊息傳送至 IMAAdsManager 時,會播放多則廣告。無須進行特殊初始化作業即可播放單一廣告連播。
廣告規則
針對特定內容安排在特定時間的廣告插播播放清單。廣告規則模式會忽略 start 訊息。一個播放清單 (例如片頭、片中、片尾) 可安排多個廣告插播。如要進一步瞭解導入做法,請參閱下方的廣告規則一節。

廣告規則

IMA iOS SDK 支援全自動廣告播放清單。這項功能會在投放廣告時,將廣告插播時間點插入 Google Ad Manager 中指定的內容。此外,它也大幅簡化了支援廣告插播所需的影片播放器程式碼,包括片頭廣告、片中廣告和片尾廣告。

  • 在 Ad Manager 中投放廣告時,您可以指定各種廣告規則,例如「在內容開頭一律播放廣告插播時間點」或「每 30 分鐘內容播放一次一分鐘」。
  • 請求廣告時,廣告伺服器可能會傳回廣告播放清單。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. IMAAdsManager 初始化呼叫變更為使用 initializeWithContentPlayhead:self
  • 播放廣告插播時,IMAAdsManagerDelegate

注意:內容播放完畢或使用者停止播放時,請務必在 IMAAdsLoader 上呼叫 contentComplete,以便向 SDK 通知內容已播放完畢。接著,SDK 會播放已排定的片尾廣告插播 (如果有的話)。 播放完所有廣告插播時,就會觸發 ALL_ADS_COMPLETED 事件。此外,請注意,內容追蹤功能會在呼叫 IMAAdsManagerinitializeWithContentPlayhead:adsRenderingSettings 方法後開始,您應一律在播放內容前呼叫 initializeWithContentPlayhead:adsRenderingSettings