问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用AdMob中介界面

发布网友 发布时间:2023-07-10 15:04

我来回答

1个回答

热心网友 时间:2024-10-29 06:18

1. 集成 AdMob 广告
请按照将AdMob广告集成到应用中的相同说明操作。要集成非插页式广告(横幅尺寸、页首横幅尺寸等),请遵照admob里集成KeyMob横幅式广告教程说明。要集成插页式广告(占据整个屏幕的全屏广告),请遵照admob里集成KeyMob插页式广告教程说明。

完成这些集成步骤之后,您需要执行下文介绍的一些小修改,将AdMob广告展示位置改为中介展示位置,从而展示来自多个广告网络的广告。

2. 添加广告网络适配器和SDK
现在您可以下载并向项目中添加相关广告网络的适配器和 SDK,以便投放来自这些广告网络的广告。您可以在中介网络页面上找到这些广告网络的链接。

要在Xcode中添加您下载的广告网络适配器/SDK,请右键点击您的项目,然后点击Add Files to <project>(将文件添加到 <项目>)

3.添加必需的链接器标记
现在您需要将-ObjC添加到应用目标的构建设置中的 Other Linker Flags(其他链接器标记):
1:在 Xcode 的项目导航器中,按蓝色的顶级项目图标。
2:依次点击目标和Build Settings(构建设置)标签。
3:在Other Linker Flags(其他链接器标记)下,将-ObjC同时添加至 Debug(调试 )和 Release(发布)。

4. 加入广告网络配置
您需要加入所选的广告网络要求的框架、编译器标记或链接器标记。为方便您查阅,中介网络页面中提供了相应链接,指向针对每个广告网络的具体说明。

您无需撰写额外的代码来创建每个广告网络的广告视图。AdMob Mediation SDK 会根据需要调用每个广告网络的适配器和 SDK 以创建广告。下文将介绍如何设置中介*,以便您收到所有广告网络的广告事件通知。

5.(可选)指定其他请求参数
您可以视需要在请求中添加用户的地理位置、性别和生日。这些不是必需的参数,但是广告网络可以使用它们投放定位更精确的广告。我们提供了用于设置生日和地理位置的方法,还提供了用于设置性别的属性。系统会将这些信息传递给所有接受这些参数的广告网络。请查看以下示例:
- (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;
一些广告网络接受用户收入或横幅广告颜色等其他参数。广告网络会逐渐在它们的中介适配器中添加对这些具体参数的支持,不过目前还无法传递针对特定广告网络的参数。

6.(可选)设置事件通知
要收到有关广告生命周期事件(例如展示)的通知,您可以实现GADBannerViewDelegate。在使用中介时,此委托会自动将您正在中介的所有广告网络的事件通知给您。例如,来自任意广告网络的展示会通过GADBannerViewDelegate的方法adViewDidReceiveAd进行报告。

7.(可选)实现自定义事件
利用自定义事件,您可以投放来自您的广告服务器的广告,或投放来自AdMob中介不支持的广告网络的广告,或者调用您选择的任何其他代码。

要创建自定义事件,请定义一个实现GADCustomEventBanner的类。
自定义事件必须在成功收到广告或无法收到广告时向GADCustomEventBannerDelegate回报。为此,您需要调用合适的委托方法(如下所示)。如果无法做到这一点,中介按序调用备用广告的功能就无法正确运行。

理想情况下,您的自定义事件还应通知委托,以报告点击次数和点击操作的结果(呈现全屏模式或退出应用)。这样一来,您的报告中将会显示点击统计信息,您设置的所有事件*都会正确运行。

我们会在运行时实例化您的GADCustomEventBanner,并为您设置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

有关详情,请参阅GADCustomEventBanner.h和GADCustomEventBannerDelegate.h文件。
自定义事件可以调用广告请求的方法以访问年龄或性别等请求参数。有关详情,请参阅GADCustomEventRequest.h。

要创建占据整个屏幕的插页式广告自定义事件,而不是横幅广告视图中的自定义事件,请使用GADCustomEventInterstitial取代GADCustomEventBanner(有关详情,请参阅GADCustomEventInterstitial.h和GADCustomEventInterstitialDelegate.h文件)。

8. (可选)检查 adNetworkClassName的值
您可以视需要检查GADBannerView的adNetworkClassName属性,此属性可返回在调用adViewDidReceiveAd回调后提取了当前横幅广告的广告网络的广告网络类名称:
- (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.(可选)处理旋转和全宽横向广告
智能横幅广告仍然属于新鲜事物,因此来自其他广告网络的中介支持较为有限。不过,有几个广告网络支持“细长”的广告格式(在 iPhone 上展示的 480x32 和在 iPad 上展示的 1024x66)。对于这些广告网络,您可以在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:在创建广告时调用尺寸选择函数:
{
// 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:针对不同的屏幕方向设置广告尺寸:
// In the code of your UIViewController that handles interface rotation, set the
// appropriate ad size.

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation ration:(NSTimeInterval)ration {
self.adView.adSize = [self adSizeForOrientation:orientation];

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
做青红椒炒毛肚有哪些好吃的诀窍? 如何自制好吃的香辣毛肚? 穿越火线警告码SX(2,509,0)如何解决 CF sx警告码(2,770,0)什么原因 ...要求重新启动电脑 警告码是2 xxxx 0 有时重启4 5次才能玩 win7系统... 穿越火线 sx 警告码 2,994,0 怎么解决 CF出现非法模块SX警告码(2,990,0) 我为什么上CF体验服没开G有非法模块???怎么办啊 警告码(2,502,0) 穿越火线进游戏后 2分钟左右 就出来个 SX 警告码2,990,0 看到刘老师那慈祥的面庞,我感慨万分,我想到了这样几个赞美刘老师的成语... 为什么男生都觉得我暗恋他们,我又没做什么特别的事,晕! 8吨吊车安全吊装的安全措施有哪些 用眉夹夹胡子好吗? 求答案 梦见老公把人撞死了 坐上腹部有束缚感是怎么回事 小肚子痛下坠、用束缚带束腰小肚子痛减轻了 ...为什么没有山北山南? 河北、河南,为什么没有 matlab求助高手,这个运行后出现错误,怎么解决? ...18岁。昨日饱餐后出现胃脘胀痛,嗳腐吞酸,大便不爽,舌苔厚腻,脉弦滑... 粪质不甚干结,欲便不得出,胁腹作胀,多为 推荐一些好的小说,文学性强的 早上一醒来就想排便急,便后不爽,肠道紧张亢进,吃什么药,去看中医还是西... 引起排便不爽的原因( )。 学之友学习电脑x90开机白屏怎么办 古代皇帝为何自称为“孤家”或者“寡人” 皇帝什么时候开始称“_百度... 我想问下啊,我看网上说华南理工大学会把移动手机卡连同通知书一起寄... ...几本好书,文学色彩强的,有哲理的。(也可以是故事情节很好的小说) 五山男子职业技术学院是哪个学校 华南理工大学数学系的男女比例怎样? 给几个比较有文学性质的小说! ...来博取我的同情心,但是不是为了钱, 她是什么心态? 被个女的认为我在暗恋她,怎么办? 琼山中学高中部重点班怎么样 中文翻译成英文 英语 新中国有哪些疫情 请帮忙翻译下着段文字?谢了! 在学校有什么食物是比较有营养的可以代替学校早餐 琼山中学2022年高考成绩 芝加哥影评人协会奖的历届回顾 在空间站内用茶壶向茶杯里倒水会怎么样 ...想知道重点中学是 海口市实验中学好还是琼山中学好一点? 宝鸡中学体育生录取分数线 在&lt;金蝶财&gt;务软件中,为什么不能自动生成现利润表呢? 重庆江北区搬家公司哪个好? 重庆锐志物流有限公司怎么样? 增程器控制器转换器在哪里 三轮电动车12v转换器在哪里 搬家公司哪家比较便宜_重庆海豹搬家 重庆专业搬运钢琴首选哪家公司? 没满18岁怎么办手机卡