Porto iOS - 原生廣告

SDK Document

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

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


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


開始建立 原生廣告


MFNativeAd 屬性方法設定與說明


* 以下必須使用方法

取得MFNativeAd物件


MFNativeAd 屬性說明

設定廣告板位ID


設定Delegate


MFNativeAd 方法說明

開始請求廣告


設定 可以點擊區域。

Parameters

廣告圖片處理


* 以下為選擇使用方法

設定是否輸出除錯(debug)訊息

Parameters

MFNativeDelegate Method 說明


請求廣告成功,載入ClickForce 原生廣告

接收點擊廣告

接收廣告失敗


原生廣告元件


屬性 說明
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