目標
利用Admob Mediation聯播admob廣告以及vpon廣告
步驟
申請vpon帳號
依照步驟申請即可
加入應用程式
vpon在新增應用程式的時候會詢問App上架後的URL,這個在iTunes Connect裡面新增App之後就可以看到了。
申請admob帳號
依照步驟申請即可
加入應用程式
用手動加入應用程式,照步驟完成後選編輯中介服務->新增廣告聯播網->新增事件,接著就會出現這個畫面。
在Vpon的wiki裡有對這裡應該填什麼值做說明。
Label可以隨意,Parameter就是你在vpon新增的廣告id。
特別注意Class Name就是Admob Mediation SDK會去呼叫的class名稱,所以VPON admob mediation adapter的class name要跟這裡一樣,不然Admob Mediation SDK會找不到這個class。我遇到的情況是文件上面class名稱是VpadnAdmobCustomAd,但sample裡面是VponAdmobCustomAd。
整合SDK進project
使用cocoapods方式,編輯Podfile,加入兩個pod。
pod "Google-Mobile-Ads-SDK"
pod 'AdMobMediationAdapterVponSDK', :podspec => 'https://raw2.github.com/dearhui/AdMobMediationAdapterVponSDK/master/AdMobMediationAdapterVponSDK.podspec'
這樣就可以不用手動設定一堆麻煩的東西了。
使用SDK注意事項
其實聯播的運作方式就是使用同一個GADBannerView顯示不同廣告商發送的廣告內容。
admob
只要依照google developer的說明下去使用應該沒有什麼大問題,重點就是把GADBannerView顯示出來而已。
如果要讓admob顯示測試廣告,在GADRequest的testDevices加入GAD_SIMULATOR_ID。
記得GADBannerView的adUnitID要填入中介服務的id
- (void)setupAd
{
// 在螢幕上方建立標準大小的視圖,
// 可用的 AdSize 常值已在 GADAdSize.h 中解釋。
self.bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
// 指定廣告單元編號。
_bannerView.adUnitID = @"Your pub ID";
// 通知執行階段,將使用者帶往廣告到達網頁後,該恢復哪一個 UIViewController,
// 並將其加入檢視階層中。
_bannerView.rootViewController = self;
}
- (void)loadAD
{
GADRequest *request = [GADRequest request];
request.testDevices = @[
GAD_SIMULATOR_ID
];
// 啟動一般請求,隨著廣告一起載入。
[_bannerView loadRequest:request];
}
vpon
vpon的廣告會在同一個GADBannerView顯示廣告內容,而且admob mediation SDK會自動呼叫vpon的class,只要admob中介服務有設定好,其他就不用操心。
目前加了AdMobMediationAdapterVponSDK這個pod之後會有 @synthesize of ‘weak’ property is only allowed in ARC or GC mode的問題,所以要在VponAdmobCustomAd.h加一行
@property(nonatomic, assign) id<GADCustomEventBannerDelegate> delegate;
應該就可以編譯成功了。記得pod update之後會自己加進去的東西會被清掉,需重加。
如果要讓vpon顯示測試廣告,需要加入設備的ID,如果沒加在log裡會提示你。
在VponAdmobCustomAd.m裡面
-(NSArray*)getTestIdentifiers
{
return [NSArray arrayWithObjects:
// add your test Id
@"",
nil];
}
目前vpon SDK的64 bit版本還在beta,所以如果不想編出64bit版本的binary,就要到Target->Build setting->Architecture裡面把arm64去掉。
沒有留言:
張貼留言