怎么使用AdMob中介界面?

來源:Google Admob
作者:網(wǎng)絡(luò)
時間:2020-10-14
17791
本文將AdMob廣告展示位置改為中介展示位置,從而展示來自多個廣告網(wǎng)絡(luò)的廣告。

MmRmMWUzZS5qcGVn.jpg

1.集成AdMob廣告

請按照將AdMob廣告集成到應(yīng)用中的相同說明操作。要集成非插頁式廣告(橫幅尺寸、頁首橫幅尺寸等),請遵照admob里集成KeyMob橫幅式廣告教程說明。要集成插頁式廣告(占據(jù)整個屏幕的全屏廣告),請遵照admob里集成KeyMob插頁式廣告教程說明。

完成這些集成步驟之后,您需要執(zhí)行下文介紹的一些小修改,將AdMob廣告展示位置改為中介展示位置,從而展示來自多個廣告網(wǎng)絡(luò)的廣告。

2.添加廣告網(wǎng)絡(luò)適配器和SDK

現(xiàn)在您可以下載并向項目中添加相關(guān)廣告網(wǎng)絡(luò)的適配器和SDK,以便投放來自這些廣告網(wǎng)絡(luò)的廣告。您可以在中介網(wǎng)絡(luò)頁面上找到這些廣告網(wǎng)絡(luò)的鏈接。

要在Xcode中添加您下載的廣告網(wǎng)絡(luò)適配器/SDK,請右鍵點擊您的項目,然后點擊Add Files to<project>(將文件添加到<項目>)

3.添加必需的鏈接器標記

現(xiàn)在您需要將-ObjC添加到應(yīng)用目標的構(gòu)建設(shè)置中的Other Linker Flags(其他鏈接器標記):

1:在Xcode的項目導(dǎo)航器中,按藍色的頂級項目圖標。

2:依次點擊目標和Build Settings(構(gòu)建設(shè)置)標簽。

3:在Other Linker Flags(其他鏈接器標記)下,將-ObjC同時添加至Debug(調(diào)試)和Release(發(fā)布)。

4.加入廣告網(wǎng)絡(luò)配置

您需要加入所選的廣告網(wǎng)絡(luò)要求的框架、編譯器標記或鏈接器標記。為方便您查閱,中介網(wǎng)絡(luò)頁面中提供了相應(yīng)鏈接,指向針對每個廣告網(wǎng)絡(luò)的具體說明。

您無需撰寫額外的代碼來創(chuàng)建每個廣告網(wǎng)絡(luò)的廣告視圖。AdMob Mediation SDK會根據(jù)需要調(diào)用每個廣告網(wǎng)絡(luò)的適配器和SDK以創(chuàng)建廣告。下文將介紹如何設(shè)置中介監(jiān)聽器,以便您收到所有廣告網(wǎng)絡(luò)的廣告事件通知。

5.(可選)指定其他請求參數(shù)

您可以視需要在請求中添加用戶的地理位置、性別和生日。這些不是必需的參數(shù),但是廣告網(wǎng)絡(luò)可以使用它們投放定位更精確的廣告。我們提供了用于設(shè)置生日和地理位置的方法,還提供了用于設(shè)置性別的屬性。系統(tǒng)會將這些信息傳遞給所有接受這些參數(shù)的廣告網(wǎng)絡(luò)。請查看以下示例:

-(void)setBirthdayWithMonth:(NSInteger)m day:(NSInteger)d year:(NSInteger)y;

-(void)setLocationWithLatitude:(CGFloat)latitude longitude:(CGFloat)longitude accuracy:(CGFloat)accuracyInMeters;

 property(nonatomic,assign)GADGender gender;

typedef enum{

kGADGenderUnknown,

kGADGenderMale,

kGADGenderFemale

}GADGender;

一些廣告網(wǎng)絡(luò)接受用戶收入或橫幅廣告顏色等其他參數(shù)。廣告網(wǎng)絡(luò)會逐漸在它們的中介適配器中添加對這些具體參數(shù)的支持,不過目前還無法傳遞針對特定廣告網(wǎng)絡(luò)的參數(shù)。

6.(可選)設(shè)置事件通知

要收到有關(guān)廣告生命周期事件(例如展示)的通知,您可以實現(xiàn)GADBannerViewDelegate。在使用中介時,此委托會自動將您正在中介的所有廣告網(wǎng)絡(luò)的事件通知給您。例如,來自任意廣告網(wǎng)絡(luò)的展示會通過GADBannerViewDelegate的方法adViewDidReceiveAd進行報告。

7.(可選)實現(xiàn)自定義事件

利用自定義事件,您可以投放來自您的廣告服務(wù)器的廣告,或投放來自AdMob中介不支持的廣告網(wǎng)絡(luò)的廣告,或者調(diào)用您選擇的任何其他代碼。

要創(chuàng)建自定義事件,請定義一個實現(xiàn)GADCustomEventBanner的類。

自定義事件必須在成功收到廣告或無法收到廣告時向GADCustomEventBannerDelegate回報。為此,您需要調(diào)用合適的委托方法(如下所示)。如果無法做到這一點,中介按序調(diào)用備用廣告的功能就無法正確運行。

理想情況下,您的自定義事件還應(yīng)通知委托,以報告點擊次數(shù)和點擊操作的結(jié)果(呈現(xiàn)全屏模式或退出應(yīng)用)。這樣一來,您的報告中將會顯示點擊統(tǒng)計信息,您設(shè)置的所有事件監(jiān)聽器都會正確運行。

我們會在運行時實例化您的GADCustomEventBanner,并為您設(shè)置GADCustomEventBannerDelegate,您無需自行實例化這些類。

下面是一個自定義事件示例:

 implementation MyCustomEventBanner

//Will be set by the SDK.

 synthesize delegate=delegate_;

#pragma mark-

#pragma mark GADCustomEventBanner

-(void)requestBannerAd:(GADAdSize)adSize

parameter:(NSString*)serverParameter

label:(NSString*)serverLabel

request:(GADCustomEventRequest*)request{

//TODO:Use the parameters and self.delegate to make a banner request to your

//ad network.Remember to set this class to be your banner's delegate.

}

#pragma mark-

#pragma mark MyBanner Callbacks

-(void)adViewDidReceiveAd:(MyBanner*)view{

[self.delegate customEventBanner:self didReceiveAd:view];

}

-(void)adView:(MyBanner*)view

didFailToReceiveAdWithError:(NSError*)error{

[self.delegate customEventBanner:self didFailAd:error];

}

-(void)adViewWillPresentScreen:(MyBanner*)adView{

[self.delegate customEventBannerWillPresentModal:self];

}

-(void)adViewWillDismissScreen:(MyBanner*)adView{

[self.delegate customEventBannerWillDismissModal:self];

}

-(void)adViewDidDismissScreen:(MyBanner*)adView{

[self.delegate customEventBannerDidDismissModal:self];

}

-(void)adViewWillLeaveApplication:(MyBanner*)adView{

[self.delegate customEventBannerWillLeaveApplication:self];

}

 end

自定義事件可以調(diào)用廣告請求的方法以訪問年齡或性別等請求參數(shù)。有關(guān)詳情,請參閱GADCustomEventRequest.h。

要創(chuàng)建占據(jù)整個屏幕的插頁式廣告自定義事件,而不是橫幅廣告視圖中的自定義事件,請使用GADCustomEventInterstitial取代GADCustomEventBanner。

8.(可選)檢查adNetworkClassName的值

您可以視需要檢查GADBannerView的adNetworkClassName屬性,此屬性可返回在調(diào)用adViewDidReceiveAd回調(diào)后提取了當前橫幅廣告的廣告網(wǎng)絡(luò)的廣告網(wǎng)絡(luò)類名稱:

-(void)adViewDidReceiveAd:(GADBannerView*)bannerView{

NSLog( "Banner adapter class name:% ",bannerView.adNetworkClassName);

}

同樣,對于插頁式廣告,請在interstitialDidReceiveAd中檢查GADInterstitial的adNetworkClassName屬性:

-(void)interstitialDidReceiveAd:(GADInterstitial*)interstitial{

NSLog( "Interstitial adapter class name:% ",interstitial.adNetworkClassName);

}

對于標準Google AdMob廣告和通過中介投放的Google AdMob廣告,adNetworkClassName會返回GADMAdapterGoogleAdMobAds。對于通過自定義事件獲取的廣告,該屬性會返回GADMAdapterCustomEvents。

9.(可選)處理旋轉(zhuǎn)和全寬橫向廣告

智能橫幅廣告仍然屬于新鮮事物,因此來自其他廣告網(wǎng)絡(luò)的中介支持較為有限。不過,有幾個廣告網(wǎng)絡(luò)支持“細長”的廣告格式(在iPhone上展示的480x32和在iPad上展示的1024x66)。對于這些廣告網(wǎng)絡(luò),您可以在UIViewController中指定kGADAdSizeSmartBannerLandscape智能橫幅廣告尺寸,以便在橫向模式中投放這些細長的廣告尺寸。請參見以下示例代碼:

1:定義adSizeForOrientation:

//Define a common function for choosing an ad size based on the device's

//orientation.

-(GADAdSize)adSizeForOrientation:(UIInterfaceOrientation)orientation{

//Landscape.

//Only some networks support a thin landscape size

//(480x32 on iPhone or 1024x90 on iPad).

if(UIInterfaceOrientationIsLandscape(orientation)){

return kGADAdSizeSmartBannerLandscape;

}

//Portrait.

//Most networks support banner(320x50)and Leaderboard(728x90)

//sizes.

if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad){

return kGADAdSizeLeaderboard;

}else if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone){

return kGADAdSizeBanner;

}

//Unknown idiom.

return kGADAdSizeBanner;

}

2:在創(chuàng)建廣告時調(diào)用尺寸選擇函數(shù):

{

//Call the common function you've defined to choose the appropriate ad size

//at ad creation time.

GADAdSize adSize=[self adSizeForOrientation:self.interfaceOrientation];

GADBannerView*adView=[[GADBannerView alloc]initWithAdSize:adSize];

//Request ad

}

3:針對不同的屏幕方向設(shè)置廣告尺寸:

//In the code of your UIViewController that handles interface rotation,set the

//appropriate ad size.

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration{

self.adView.adSize=[self adSizeForOrientation:orientation];

}

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Google Admob,本站不擁有所有權(quán),不承擔相關(guān)法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家