SDK導入說明
選擇欲加入SDK方式,進行下載SDK檔案,並完成以下三項前置步驟:
A.在本原生廣告專案中
選擇欲加入SDK方式,進行下載SDK檔案,並參照所對應加入方式進行操作。
B.在 Build Settings 內 Other Linker Flags 請填入 -all_load 與 -ObjC。
C.App Transport Security Settings,需進行設定。
基本設定
iMFAD Framework 加入方式
Step1:
將 iMFAD.framework
拖曳到 XCode 中您的應用程式目錄內。選擇「Copy Items if needed」(複製必要項目),然後點擊「Finish」(完成)
Step2:
在TARGETS-開啟 Build Phases
分頁下的 Link Binary With Libraries
下拉式選單,
然後用畫面上出現的 +
按鈕加入 剛剛拖拉至專案中的iMFAD.framework
。
修改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
開始建立 原生廣告
MFNativeAd 屬性方法設定與說明
* 以下必須使用方法
取得MFNativeAd物件
MFNativeAd 屬性說明
設定廣告板位ID
bannerId
設定Delegate
delegate
MFNativeAd 方法說明
開始請求廣告
- (void)requestAd;
設定 可以點擊區域。
- (void)registerElementsView:(UIView *)elementsView clickView:(NSArray*)view controllervw:(UIViewController *)viewController;
Parameters
廣告圖片處理
- (void)loadImageAsyncWithBlock:(void (^)(UIImage * image))block;
* 以下為選擇使用方法
設定是否輸出除錯(debug)訊息
- (void)debugInfo:(BOOL)state;
Parameters
MFNativeDelegate Method 說明
請求廣告成功,載入ClickForce 原生廣告
- (void)onMFNativeAdDidLoad:(MFNativeAd *)nativeAd;
接收點擊廣告
- (void)onMFNativeAdClick:(MFNativeAd *)nativeAd;
接收廣告失敗
- (void)onMFNativeAdRequestFail;
原生廣告元件
屬性 | 說明 |
---|---|
title | 廣告標題中文字,放不下時須顯示... |
content | 廣告內容說明 |
advertiser | 顯示贊助商 |
buttonTitle | 按鈕文字 |
coverImg | 廣告圖片 |
自行建立原生廣告UI
使用者可自行調整每個UI介面的 大小 和 位置 。
建立原生廣告
請首先匯入 SDK並在需要引入廣告的地方加入#import "MFNativeAd.h" ,並加入MFNativeDelegate 以接收廣告狀態
同時也宣告了欲在原生廣告中呈現的各種元件。原生廣告呈現元件規範請參照
#import <UIKit/UIKit.h> // 載入標頭檔 #import "MFNativeAd.h" // 增加一個protocol接收廣告狀態 @interface ViewController : UIViewController<MFNativeDelegate> { MFNativeAd *cfNativeAd; } @property (weak, nonatomic) IBOutlet UIView *adView; @property (weak, nonatomic) IBOutlet UILabel *adTitle; @property (weak, nonatomic) IBOutlet UILabel *adBody; @property (weak, nonatomic) IBOutlet UIButton *adButtonTitle; @property (weak, nonatomic) IBOutlet UILabel *advertiser; @property (weak, nonatomic) IBOutlet UIImageView *adCoverImg; @end
以下程式碼會在 viewController的 viewDidLoad 初始化步驟中建立原生廣告。
#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.adView.layer.borderWidth = 1.0; self.adView.layer.borderColor = [[UIColor blackColor]CGColor]; cfNativeAd = [[MFNativeAd alloc]init]; cfNativeAd.delegate = self; cfNativeAd.bannerId = @"5016"; [cfNativeAd requestAd]; } - (void)onMFNativeAdDidLoad:(MFNativeAd *)nativeAd { cfNativeAd = nativeAd; [cfNativeAd registerElementsView:self.adView clickView:@[self.adTitle,self.adBody,self.adButtonTitle,self.adCoverImg] controllervw:self]; self.adTitle.text = cfNativeAd.title; self.adBody.text = cfNativeAd.content; self.advertiser.text = cfNativeAd.advertiser; [self.adButtonTitle setTitle:cfNativeAd.buttonTitle forState:UIControlStateNormal]; [cfNativeAd.coverImg loadImageAsyncWithBlock:^(UIImage *image){ self.adCoverImg.image = image; }]; } - (void)onMFNativeAdClick:(MFNativeAd *)nativeAd { NSLog(@"點擊廣告完成"); } - (void)onMFNativeAdRequestFail { NSLog(@"原生廣告載入失敗"); }
取得結果
show date