自動化廣告播放清單

選取平台: HTML5 Android iOS tvOS

SDK 作業模式

視從廣告伺服器收到的廣告回應而定,SDK 可在一或多種模式下運作。

單一廣告
當訊息傳送至startIMAAdsManager時,隨時可播放的廣告。播放單一廣告時,不需要進行特殊初始化。
廣告連播
start訊息傳送至 IMAAdsManager 時,會連續播放多則廣告。如要播放單一廣告插播,不需要進行特殊初始化作業。
廣告規則
在特定時間針對特定內容排定的廣告插播時間點播放清單。在廣告規則模式中,系統會忽略 start 訊息。單一播放清單中可排定多個廣告插播時間點 (例如片頭、片中、片尾廣告)。如需更多導入詳細資料,請參閱下方的「廣告規則」一節。

廣告規則

IMA tvOS 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. IMAAdsManager 初始化呼叫變更為使用 initializeWithContentPlayhead:self
  • 播放廣告插播時,系統會使用 IMAAdsManagerDelegate 暫停及繼續播放內容。

注意:內容播放完畢或使用者停止播放時,請務必在 IMAAdsLoader 上呼叫 contentComplete,向 SDK 發出內容已播放完畢的信號。如果已排定片尾廣告插播時間,SDK 就會播放片尾廣告插播。 所有廣告插播都播放完畢時,系統會觸發 ALL_ADS_COMPLETED 事件。此外,請注意,當呼叫 IMAAdsManagerinitializeWithContentPlayhead:adsRenderingSettings 方法時,系統就會開始追蹤內容,因此您應一律在播放內容前呼叫 initializeWithContentPlayhead:adsRenderingSettings