SDK導入說明
須先行下載iOS SDK檔案後,即進行解壓縮程序,可取得兩個Framework檔案,分別為iMFAD.framework 、GoogleInteractiveMediaAds.Framework檔案,並完成以下前置步驟:
A.在本Pre Roll 廣告專案中
加入 iMFAD.framework 、 GoogleInteractiveMediaAds.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
基本設定
iMFAD Framework 加入方式
在TARGETS-開啟 General
分頁下的 Embedded Binaries
下拉式選單,
然後用畫面上出現的 +
按鈕加入。

新增橋接檔案
必須先新增橋接檔案,而該檔案須遵守既定的命名規則。
ProjectName
+ -Bridging-Header
= ProjectName-Bridging-Header.h

設定橋接檔案
在專案設定選項中的 Build Settings下的Objective-C Bridging Header 加入橋接檔案的路徑
e.g. 我的專案名稱為 Swift-OCframework
$(SRCROOT)/Swift-OCframework/Swift-OCframework-Bridging-Header.h

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

import
在橋接檔案中,import iMFAD.framework 。
#import <iMFAD/iMFAD.h>

GoogleInteractiveMediaAds Framework 加入方式
在TARGETS-開啟 General
分頁下的 Embedded Binaries
下拉式選單,
然後用畫面上出現的 +
按鈕加入。

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

修改info.plist
iOS9 App Transport Security Settings
NSAllowsArbitraryLoads
規則並設定為允許。請在 info.plist 中加入以下規則。1.加入步驟為 新增App Transport Security Settings
, 並在底下新增Allow Arbitrary Loads
,將其設為 YES

開始建立 Pre Roll 廣告
MFPreRollView 參數設定與說明
* 以下必須使用方法
設定 MFPreRollView
init(frame: CGRect)
Parameters
請輸入Pre Roll VAST 板位ID
func setPreRollZoneID(_ zoneID: String!)
Parameters
設定Pre Roll 廣告載入
func setPreRollPlayer()
使用 MFPreRollDelegate
weak var delegate: MFPreRollDelegate!
設定指向放置PreRoll廣告頁面
func getView(_ view: UIViewController!)
Parameters
* 以下為選擇使用方法
設定是否使用控制聲音功能,填入true / false
func setOpenVolume(_ result: Bool)
Parameters
設定是否全屏播放模式,填入true / false
func setIsFull(_ result: Bool)
Parameters
取得/查看 版本&IMA版本
static func version() -> String
Usage
MFPreRollDelegate 說明
Pre-roll 廣告播完處理
func readyPlayVideo()
Pre-roll Vast影片錯誤處理
func onFailedToVast()
宣告及引入
以下程式碼會在 viewController的 viewDidLoad 初始化步驟中建立Pre Roll VAST 影音廣告。
import UIKit import iMFAD class ViewController: UIViewController { @IBOutlet var prerollView: UIView! var preroll:MFPreRollView? override func viewDidLoad() { super.viewDidLoad() preroll = MFPreRollView.init(frame: self.prerollView.frame); preroll?.getView(self); preroll?.setPreRollZoneID("4397"); preroll?.delegate = self; preroll?.setPreRollPlayer(); self.view.addSubview(preroll!); } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } extension ViewController:MFPreRollDelegate{ func readyPlayVideo() { print("PreRoll廣告結束,可進行後續動作..."); } }
取得結果

show date