Porto tvOS - Pre Roll 廣告

SDK Document

若需在 tvOS 應用程式中呈現 ClickForce 廣告,只要在您的 Xcode 專案中導入 SDK,然後在使用者介面中加入相關指令就行了。

SDK導入說明

須先行下載tvOS SDK檔案後,即進行解壓縮程序,可取得兩個Framework檔案,分別為iMFADTV.framework 、GoogleInteractiveMediaAds.Framework檔案,並完成以下前置步驟:


A.在本Pre Roll 廣告專案中加入 iMFADTV.frameworkGoogleInteractiveMediaAds.Framework

B.建立 Objective-C bridging header檔案

C.在 Build Settings 內 在Objective-C bridging header 中,匯入Objective-C bridging header檔案

D.在 Build Settings 內 Other Linker Flags 請填入 -all_load 與 -ObjC

E.修改info.plist

基本設定


iMFADTV Framework 加入方式


在TARGETS-開啟 General 分頁下的 Frameworks, Libraries, and Embedded Content 下拉式選單,
然後用畫面上出現的 +按鈕加入。



新增橋接檔案


必須先新增橋接檔案,而該檔案須遵守既定的命名規則。




設定橋接檔案


在專案設定選項中的 Build Settings下的Objective-C Bridging Header 加入橋接檔案的路徑


e.g. 我的專案名稱為 Swift-OCframework




在專案設定選項中的 Build Settings下的Defines Module 設定為Yes



import


在橋接檔案中,import iMFADTV.framework 。


GoogleInteractiveMediaAds Framework 加入方式


在TARGETS-開啟 General 分頁下的 Frameworks, Libraries, and Embedded Content 下拉式選單,
然後用畫面上出現的 +按鈕加入。



修改Build Settings

在專案設定選項中的 Build Settings下的 Other Linker Flags 加入-ObjC-all_load



修改info.plist


iOS9 App Transport Security Settings


1.加入步驟為 新增App Transport Security Settings , 並在底下新增Allow Arbitrary Loads ,將其設為 YES


開始建立 Pre Roll 廣告


MFPreRollView 參數設定與說明


* 以下必須使用方法

設定 MFPreRollView

Parameters

請輸入Pre Roll VAST 板位ID

Parameters

設定Pre Roll 廣告載入


使用 MFPreRollDelegate


設定指向放置PreRoll廣告頁面

Parameters

* 以下為選擇使用方法

初始化時設定大小與UIView相同

Parameters

同時設定 Zonid and UIViewController

Parameters

關閉Mid-roll 影片

Usage

繼續播放Mid-roll 影片

Usage

取得/查看 版本&IMA版本

Usage


MFPreRollDelegate 說明


Pre-roll 廣告播完處理

Pre-roll Vast影片錯誤處理


宣告及引入


以下程式碼會在 viewController的 viewDidLoad 初始化步驟中建立Pre Roll VAST 影音廣告。


import UIKit
import iMFADTV

class ViewController: UIViewController {
    
    var preroll:MFPreRollView?
    
    override func viewDidLoad() {
        super.viewDidLoad()

        preroll = MFPreRollView.init(frame: self.view.frame)
        preroll?.setZoneID("18379", get: self)
        preroll?.delegate = self;
        preroll?.setPlayer()
              
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

extension ViewController:MFPreRollDelegate{
    
    func readyPlayVideo() {
        print("PreRoll廣告結束,可進行後續動作...");
    }

    func onFailedToVast() {
        print("PreRoll fail.")
    }
}



取得結果



show date