雖然威朋(Vpon)行動廣告官方有教學,但在此我還是要記錄我如何套用實作。它的SDK 3和SDK4有很大的差別,因我在網路上搜尋到的教學跟現行官方教學有些出入,所以未來釋出的SDK還是要以官方的教學為主喔!我則使用Vpon SDK 4.1來實作。
- 下載SDK可到這裡,打開就能執行編譯範例,但要先申請banner ID,才能順利顯示真實廣告,我的可借用測試喔!
- 在專案中加入libAdOn.a,VponBanner.h與VponInterstitial.h(才三個檔)
- 加入SDK會參照到的frameworks:(有夠多⋯⋯)
- AddressBook ,
- AddressBookUI ,
- AdSupport ,
- AssetsLibrary ,
- AudioToolbox ,
- AVFoundation ,
- CoreFoundation ,
- CoreGraphics ,
- CoreLocation ,
- CoreMedia ,
- CoreMotion ,
- CoreTelephony ,
- EventKit ,
- Foundation ,
- MediaPlayer ,
- MessageUI ,
- MobileCoreServices ,
- QuartzCore ,
- Security ,
- StoreKit ,
- SystemConfiguration ,
- UIKit
- 撰寫相關程式碼
/** Theme: Using Vpon IDE: Xcode 5 Language: Objective C Date: 103/04/04 Author: HappyMan Blog: https://cg2010studio.wordpress.com/ */ // 在.h #import <UIKit/UIKit.h> // 載入標頭檔 #import "VponBanner.h" #import "VponInterstitial.h" // 增加兩個protocol接收廣告狀態 @interface HTVponViewController : UIViewController <VponBannerDelegate, VponInterstitialDelegate> { VponBanner *happyVponBanner;// 宣告使用VponBanner廣告 VponInterstitial *happyVponInterstitial;// 宣告使用Vpon插屏廣告 Platform platform;// 宣告使用拉取廣告的地區 IBOutlet UIView *bannerxView; } // 在.m - (void)viewDidLoad { [super viewDidLoad]; happyVponBanner = [[VponBanner alloc] initWithAdSize:VponAdSizeSmartBannerPortrait];// 初始化Banner物件 happyVponBanner.strBannerId = @"8a808182447617bf0145216213bf795e";// 填入您的BannerId happyVponBanner.delegate = self;// 設定delegate接收protocol回傳訊息 happyVponBanner.platform = TW;// 台灣地區請填TW 大陸則填CN [happyVponBanner setAdAutoRefresh:YES];//如果為mediation則set NO [happyVponBanner setRootViewController:self]; //請將window的rootViewController設定在此 以便廣告順利執行 [bannerxView addSubview:[happyVponBanner getVponAdView]];// 將VponBanner的View加入此ViewController中 [happyVponBanner startGetAd:[self getTestIdentifiers]];// 開始抓取Banner廣告 } // 請新增此function到程式內,如果為測試用,則在下方填入UUID,即可看到測試廣告。 -(NSArray*)getTestIdentifiers { return [NSArray arrayWithObjects: // add your test UUID nil]; } #pragma mark VponAdDelegate method 接一般Banner廣告就需要新增 - (void)onVponAdReceived:(UIView *)bannerView{ NSLog(@"廣告抓取成功"); } - (void)onVponAdFailed:(UIView *)bannerView didFailToReceiveAdWithError:(NSError *)error{ NSLog(@"廣告抓取失敗"); } - (void)onVponPresent:(UIView *)bannerView{ NSLog(@"開啟vpon廣告頁面 %@",bannerView); } - (void)onVponDismiss:(UIView *)bannerView{ NSLog(@"關閉vpon廣告頁面 %@",bannerView); } - (void)onVponLeaveApplication:(UIView *)bannerView{ NSLog(@"離開publisher application"); } #pragma mark VponInterstitial Delegate 有接Interstitial廣告才需要新增 - (void)onVponInterstitialAdReceived:(UIView *)bannerView{ NSLog(@"插屏廣告抓取成功"); // 顯示插屏廣告 [happyVponInterstitial show]; } - (void)onVponInterstitialAdFailed:(UIView *)bannerView{ NSLog(@"插屏廣告抓取失敗"); } - (void)onVponInterstitialAdDismiss:(UIView *)bannerView{ NSLog(@"關閉插屏廣告頁面 %@",bannerView); } #pragma mark 通知關閉vpon開屏廣告 - (void)onVponSplashAdDismiss{ NSLog(@"關閉vpon開屏廣告頁面"); } -(IBAction)refreshButtonCLicked:(UIButton *)button { // 插屏廣告則使用下方程式碼取得 happyVponInterstitial = [[VponInterstitial alloc] init]; happyVponInterstitial.strBannerId = @"8a808182447617bf01452202d7e87b92";// 填入您的BannerId happyVponInterstitial.platform = TW;// 台灣地區請填TW 大陸則填CN happyVponInterstitial.delegate = self; [happyVponInterstitial getInterstitial:[self getTestIdentifiers]]; }
執行結果:
在實作過程中有趣的事,就是我昨天下午才申請Vpon帳號,並且創建兩個版面的banner ID(橫幅式和插頁式),馬上按照上述方法設定好相關設定和撰寫好顯示廣告的程式碼,但卻顯示最上方的測試廣告⋯⋯後來跟客服求救,沒改任何程式碼,就出現上方的真實廣告!兩個小時後另一個客服來信,說是幫我開通帳號,始能正常顯示真實廣告!真是感激她們下班時間還幫我處理哪~
我測試兩種廣告形式(插頁式(interstitial)和橫幅式(banner)),都能順利回傳點擊資料到後台!測試時建議適可而止,不然異常點擊數太多,威朋客服會發現滴:P~
做完才發現,啊哈~原來這麼簡單!去年做XX牌案子也有用到,只是當時不是我做廣告這部分:D~
Comments on: "[iOS] 使用Vpon行動廣告教學" (2)
libAdOn.a 超級肥大的! 不知道裡面到底是裝了啥…
讚讚
應該是藏了很多的商業秘密(笑)
讚讚