- 浏览: 1124244 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (349)
- javascript (28)
- objective-c&cocos2d (46)
- 开发备忘及常用java代码 (46)
- core java7学习笔记 (13)
- Mina (7)
- HTML5 (13)
- 系统集成项目管理工程师学习笔记 (10)
- 数据库系统原理学习笔记 (11)
- C++学习笔记 (10)
- C语言学习笔记 (5)
- 数据结构学习笔记 (4)
- 计算机网络原理学习笔记 (3)
- 计算机组成原理学习笔记 (2)
- 软件工程学习笔记 (6)
- 开发工具 (15)
- OSGI学习 (1)
- 学习笔记 (19)
- oracle (3)
- java tv (1)
- web server (5)
- javafx (1)
- 随笔 (8)
- 梦舞集 (4)
- 工作流 (3)
- 程序错误记录 (6)
- Windows (2)
- Linux (4)
- Git (1)
- 企业管理 (2)
- android (1)
- JVM (17)
- box2dweb (1)
- 操作系统学习笔记 (6)
- 英语学习 (1)
- Windows 8 应用商店 (1)
- Go语言 (1)
- docker (1)
- visualVM源码学习 (0)
- MariaDB (0)
- JAVA7 (2)
- 面向对象存储 (0)
- Hibernate (14)
- Spring (3)
- 项目构建 (0)
- 读源码学JAVA (0)
- mybatis (1)
- spring mvc (2)
- Javassist (0)
最新评论
-
白天看黑夜:
Apache Mina Server 2.0 中文参考手册(带 ...
Mina学习笔记二_基础 -
yjph83:
兄弟,你这个解决方案是什么什么啊?我现在遇到个问题跟你类似的! ...
Tomcat 8.0.11 移动端访问报400错误问题 -
comedsh:
你好,我也想为开源的做点事情,想让 tomcat-redis- ...
利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法 -
bsr1983:
这个应该是浏览器内部设置的,你可以在Android上试一下别的 ...
javascript学习笔记八 -
787250527:
bsr1983 写道该值是浏览器内部的一个变量,只读的,不可修 ...
javascript学习笔记八
【转】Google AdMob 广告 iOS 中级指南
- 博客分类:
- objective-c&cocos2d
转自:https://developers.google.com/mobile-ads-sdk/docs/ios/intermediate?hl=zh-cn
转载仅为防止被墙致无法查阅!
Google AdMob 广告 iOS 中级指南
横幅尺寸
除了 iPod Touch 和 iPhone 所显示的 320x50 外,Google AdMob 广告还支持 iPad 所用的三种平板电脑专用横幅广告尺寸:
尺寸(宽度x高度) 说明 适用范围 AdSize 常量
320x50 标准横幅广告 手机和平板电脑 GAD_SIZE_320x50
300x250 IAB 中矩形 平板电脑 GAD_SIZE_300x250
468x60 IAB 全尺寸横幅广告 平板电脑 GAD_SIZE_468x60
728x90 IAB 页首横幅 平板电脑 GAD_SIZE_728x90
SDK 会请求系统传回满足请求方 GADBannerView 要求的最大尺寸。如果您的视图尺寸太小,则不会返回任何广告。
广告刷新
如果您在服务器的 AdMob 帐户中指定了刷新率,横幅广告就会自动刷新,也可以通过加载新的请求以编程方式进行刷新。
注意:当前的刷新率范围是 12-120 秒
GADRequest
您可以先自定义 GADRequest,然后再将其传递给 GADBannerView.loadRequest:,这样 Google 就能更精确地定位广告。
GADRequest.testDevices
可以使用此参数指定要接收测试广告的一系列设备。您应该在开发过程中使用这一属性防止产生不适当的展示。要验证 SDK 已成功完成集成,请将您的测试设备添加到此列表,运行应用,然后点击所显示的测试广告。应用内浏览器应该向上滑动并覆盖整个屏幕。
设备标识符会标识设备(与向 Apple 注册的开发设备标识相同)。要获得此值,请打开 Organizer(Xcode 中的 Window > Organizer),用 Control 键或鼠标右键点击设备名,然后选择 Copy Device Identifier(复制设备标识符)。您也可以通过使用 [[UIDevice currentDevice] uniqueIdentifier] 的代码获得此值。
GADRequest *request = [GADRequest request];
request.testDevices = [NSArray arrayWithObjects:
GAD_SIMULATOR_ID, // 模拟器
@"TEST_DEVICE_ID", // 测试 iOS 设备
nil];
广告定位
您还可以指定地理位置定位信息和根据受众特征定位的信息。出于对用户隐私权的尊重,Google 要求所指定的位置和受众特征数据必须来自您的应用已在使用的信息。
GADRequest *request = [GADRequest request];
request.gender = kGADGenderMale;
[request setLocationWithLatitude:locationManager_.location.coordinate.latitude
longitude:locationManager_.location.coordinate.longitude
accuracy:locationManager_.location.horizontalAccuracy];
[request setBirthdayWithMonth:3 day:13 year:1976];
[bannerView_ loadRequest:request];
如果不想使用 CoreLocation,您可以通过更宽泛的字词来指定位置:
[request setLocationWithDescription:@"94070 US"];
注意:setLocationWithDescription: 和 setLocationWithLatitude:longitude:accuracy: 相互排斥。
GADBannerViewDelegate
您可以选择实施全部或部分 GADBannerViewDelegate,以跟踪请求失败或“点击访问”等广告生命周期事件。
@protocol GADBannerViewDelegate <NSObject>
@optional
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView;
- (void)adView:(GADBannerView *)bannerView
didFailToReceiveAdWithError:(GADRequestError *)error;
- (void)adViewWillPresentScreen:(GADBannerView *)bannerView;
- (void)adViewDidDismissScreen:(GADBannerView *)bannerView;
- (void)adViewWillLeaveApplication:(GADBannerView *)bannerView;
@end
这些方法既可以在视图控制器等独立的对象中实施:
#import "GADBannerViewDelegate.h"
@interface NibExampleViewController : UIViewController <GADBannerViewDelegate> {
}
@end
也可以作为 GADBannerView 子类的一部分实施:
#import "GADBannerView.h"
#import "GADBannerViewDelegate.h"
@interface MyBannerView : GADBannerView <GADBannerViewDelegate> {
}
@end
在请求广告前,请务必先使用 setDelegate: 设置委托。
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView
当 loadRequest: 成功时发送;如果发送者之前一直隐藏,这是将其添加到视图层级结构的好机会。要使横幅广告从视图控制器加载后就在屏幕上向上滑动,可以参考下例:
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView {
[UIView beginAnimations:@"BannerSlide" context:nil];
bannerView.frame = CGRectMake(0.0,
self.view.frame.size.height -
bannerView.frame.size.height,
bannerView.frame.size.width,
bannerView.frame.size.height);
[UIView commitAnimations];
}
- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error
当 loadRequest: 失败时发送。常见失败原因:网络故障、应用配置错误,或广告资源不足。您可以记下这些事件,以便进行调试:
- (void)adView:(GADBannerView *)bannerView
didFailToReceiveAdWithError:(GADRequestError *)error {
NSLog(@”adView:didFailToReceiveAdWithError:%@”, [error localizedDescription]);
}
- (void)adViewWillPresentScreen:(GADBannerView *)bannerView
在系统响应用户触摸发送者的操作而即将向其展示全屏广告用户界面时发送。与使用 UIApplicationDidEnterBackgroundNotification 时类似,此时应该暂停所有动画、计时器或其他可能会与用户互动的活动,并保存应用状态。
通常用户会简单浏览全屏广告然后关闭它,这样会生成 adViewDidDismissScreen: 并将控制权返回给您的应用。如果横幅广告的操作是 Click-to-App-Store 或 Click-to-iTunes,或者用户在广告内按“首页”键,则您的应用会转到后台运行或者可能终止运行。
如果使用 iOS 4.0+,在这些情况下,系统接着会相继调用根视图控制器的 applicationWillResignActive: 以及 adViewWillLeaveApplication: 这两个方法。
- (void)adViewDidDismissScreen:(GADBannerView *)bannerView
当用户已退出发送者的全屏用户界面时发送
- (void)adViewWillDismissScreen:(GADBannerView *)bannerView
在用户关闭发送者的全屏用户界面前发送,用以恢复您的应用和根视图控制器。这时应该重新启动 adViewWillPresentScreen: 执行期间暂停的任何前台活动。
- (void)adViewWillLeaveApplication:(GADBannerView *)bannerView
在应用因为用户触摸 Click-to-App-Store 或 Click-to-iTunes 横幅广告而转至后台或终止运行前发送。在此之前,先会有 applicationDidEnterBackground: 等常规 UIApplicationDelegate 通知显示。
在这些方法中,您可以通过查看 GADBannerView.hasAutoRefreshed 来判断是否有刷新操作触发了事件。
请注意,如果您将委托作为非 GADBannerView 子类的独特对象来实施,在发布视图前,请务必将 GADBannerView 的委托属性设为 nil。
- (void)viewDidUnload {
bannerView_.delegate = nil;
[bannerView_ release];
}
- (void)dealloc {
[super dealloc];
}
Objective-C 委托不会保留,可能会在委托对象最终获得重新分配之前采用异步方式发送出去。
转载仅为防止被墙致无法查阅!
Google AdMob 广告 iOS 中级指南
横幅尺寸
除了 iPod Touch 和 iPhone 所显示的 320x50 外,Google AdMob 广告还支持 iPad 所用的三种平板电脑专用横幅广告尺寸:
尺寸(宽度x高度) 说明 适用范围 AdSize 常量
320x50 标准横幅广告 手机和平板电脑 GAD_SIZE_320x50
300x250 IAB 中矩形 平板电脑 GAD_SIZE_300x250
468x60 IAB 全尺寸横幅广告 平板电脑 GAD_SIZE_468x60
728x90 IAB 页首横幅 平板电脑 GAD_SIZE_728x90
SDK 会请求系统传回满足请求方 GADBannerView 要求的最大尺寸。如果您的视图尺寸太小,则不会返回任何广告。
广告刷新
如果您在服务器的 AdMob 帐户中指定了刷新率,横幅广告就会自动刷新,也可以通过加载新的请求以编程方式进行刷新。
注意:当前的刷新率范围是 12-120 秒
GADRequest
您可以先自定义 GADRequest,然后再将其传递给 GADBannerView.loadRequest:,这样 Google 就能更精确地定位广告。
GADRequest.testDevices
可以使用此参数指定要接收测试广告的一系列设备。您应该在开发过程中使用这一属性防止产生不适当的展示。要验证 SDK 已成功完成集成,请将您的测试设备添加到此列表,运行应用,然后点击所显示的测试广告。应用内浏览器应该向上滑动并覆盖整个屏幕。
设备标识符会标识设备(与向 Apple 注册的开发设备标识相同)。要获得此值,请打开 Organizer(Xcode 中的 Window > Organizer),用 Control 键或鼠标右键点击设备名,然后选择 Copy Device Identifier(复制设备标识符)。您也可以通过使用 [[UIDevice currentDevice] uniqueIdentifier] 的代码获得此值。
GADRequest *request = [GADRequest request];
request.testDevices = [NSArray arrayWithObjects:
GAD_SIMULATOR_ID, // 模拟器
@"TEST_DEVICE_ID", // 测试 iOS 设备
nil];
广告定位
您还可以指定地理位置定位信息和根据受众特征定位的信息。出于对用户隐私权的尊重,Google 要求所指定的位置和受众特征数据必须来自您的应用已在使用的信息。
GADRequest *request = [GADRequest request];
request.gender = kGADGenderMale;
[request setLocationWithLatitude:locationManager_.location.coordinate.latitude
longitude:locationManager_.location.coordinate.longitude
accuracy:locationManager_.location.horizontalAccuracy];
[request setBirthdayWithMonth:3 day:13 year:1976];
[bannerView_ loadRequest:request];
如果不想使用 CoreLocation,您可以通过更宽泛的字词来指定位置:
[request setLocationWithDescription:@"94070 US"];
注意:setLocationWithDescription: 和 setLocationWithLatitude:longitude:accuracy: 相互排斥。
GADBannerViewDelegate
您可以选择实施全部或部分 GADBannerViewDelegate,以跟踪请求失败或“点击访问”等广告生命周期事件。
@protocol GADBannerViewDelegate <NSObject>
@optional
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView;
- (void)adView:(GADBannerView *)bannerView
didFailToReceiveAdWithError:(GADRequestError *)error;
- (void)adViewWillPresentScreen:(GADBannerView *)bannerView;
- (void)adViewDidDismissScreen:(GADBannerView *)bannerView;
- (void)adViewWillLeaveApplication:(GADBannerView *)bannerView;
@end
这些方法既可以在视图控制器等独立的对象中实施:
#import "GADBannerViewDelegate.h"
@interface NibExampleViewController : UIViewController <GADBannerViewDelegate> {
}
@end
也可以作为 GADBannerView 子类的一部分实施:
#import "GADBannerView.h"
#import "GADBannerViewDelegate.h"
@interface MyBannerView : GADBannerView <GADBannerViewDelegate> {
}
@end
在请求广告前,请务必先使用 setDelegate: 设置委托。
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView
当 loadRequest: 成功时发送;如果发送者之前一直隐藏,这是将其添加到视图层级结构的好机会。要使横幅广告从视图控制器加载后就在屏幕上向上滑动,可以参考下例:
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView {
[UIView beginAnimations:@"BannerSlide" context:nil];
bannerView.frame = CGRectMake(0.0,
self.view.frame.size.height -
bannerView.frame.size.height,
bannerView.frame.size.width,
bannerView.frame.size.height);
[UIView commitAnimations];
}
- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error
当 loadRequest: 失败时发送。常见失败原因:网络故障、应用配置错误,或广告资源不足。您可以记下这些事件,以便进行调试:
- (void)adView:(GADBannerView *)bannerView
didFailToReceiveAdWithError:(GADRequestError *)error {
NSLog(@”adView:didFailToReceiveAdWithError:%@”, [error localizedDescription]);
}
- (void)adViewWillPresentScreen:(GADBannerView *)bannerView
在系统响应用户触摸发送者的操作而即将向其展示全屏广告用户界面时发送。与使用 UIApplicationDidEnterBackgroundNotification 时类似,此时应该暂停所有动画、计时器或其他可能会与用户互动的活动,并保存应用状态。
通常用户会简单浏览全屏广告然后关闭它,这样会生成 adViewDidDismissScreen: 并将控制权返回给您的应用。如果横幅广告的操作是 Click-to-App-Store 或 Click-to-iTunes,或者用户在广告内按“首页”键,则您的应用会转到后台运行或者可能终止运行。
如果使用 iOS 4.0+,在这些情况下,系统接着会相继调用根视图控制器的 applicationWillResignActive: 以及 adViewWillLeaveApplication: 这两个方法。
- (void)adViewDidDismissScreen:(GADBannerView *)bannerView
当用户已退出发送者的全屏用户界面时发送
- (void)adViewWillDismissScreen:(GADBannerView *)bannerView
在用户关闭发送者的全屏用户界面前发送,用以恢复您的应用和根视图控制器。这时应该重新启动 adViewWillPresentScreen: 执行期间暂停的任何前台活动。
- (void)adViewWillLeaveApplication:(GADBannerView *)bannerView
在应用因为用户触摸 Click-to-App-Store 或 Click-to-iTunes 横幅广告而转至后台或终止运行前发送。在此之前,先会有 applicationDidEnterBackground: 等常规 UIApplicationDelegate 通知显示。
在这些方法中,您可以通过查看 GADBannerView.hasAutoRefreshed 来判断是否有刷新操作触发了事件。
请注意,如果您将委托作为非 GADBannerView 子类的独特对象来实施,在发布视图前,请务必将 GADBannerView 的委托属性设为 nil。
- (void)viewDidUnload {
bannerView_.delegate = nil;
[bannerView_ release];
}
- (void)dealloc {
[super dealloc];
}
Objective-C 委托不会保留,可能会在委托对象最终获得重新分配之前采用异步方式发送出去。
发表评论
-
[转]解决 Xcode 删除文件后 missing file 警告
2014-03-19 18:19 1148转自:http://www.oschina.net/ques ... -
CocoStudio简介
2014-03-05 19:19 1422一、概述 1.1.功能简介 CocoS ... -
xcode5预览版下载地址
2013-06-16 09:56 22361.xcode5预览版下载地址 http://adcdo ... -
解决提交应用到AppStore时,提示UUID及UIDevice错误
2013-06-04 03:34 22991.如果使用了Admob,更新到最新版本6.4.2,删除Add ... -
解决Could not instantiate class named NSLayoutConstraint
2013-02-17 10:22 1452点击xib或storyboard文件,在右边的 inspect ... -
objective-c的arc项目中使用不支持arc的依赖库时编译错误的解决
2013-02-06 14:04 1179在Target->build phases->Co ... -
xcode4.6下载地址
2013-02-04 12:08 3108http://adcdownload.apple.com/De ... -
Mac上的DMG与ISO互转
2013-01-14 14:59 12101.把DMG转为ISO hdiutil convert /p ... -
设置ios中DatePicker的日期为中文格式
2012-12-18 18:12 72651.在模拟器中的“设置”-“通用”-“多语言环境”-“语言”设 ... -
Xcode 错误- Could not launch app - No such file or directory Error.
2012-12-14 11:50 1881通常发生在联机调试过程中,新旧工程交替测试 解决方 ... -
UIPickerView控件中自定义显示的字体大小及样式
2012-12-14 00:21 17798通过覆盖如下方法实现 - (UIView *)pickerV ... -
Flurry analytics SDK集成步骤及功能简介
2012-12-13 11:48 15445Flurry analytics SDK集成步骤及功能 ... -
Xcode4中显示“Line Numbers”行号
2012-12-11 10:46 1160Xcode4中显示“Line Numbers”行号 1 ... -
ios代码备忘
2012-12-09 00:23 14601.自定义导航栏返回按钮 self.navigationIt ... -
iOS OpenSource Library Collection
2012-12-07 17:45 1359转自:http://www.cppblog.com/inkcp ... -
ios内置付费IAP校验
2012-12-07 15:50 1619参考链接:http://developer.apple.com ... -
ios应用中集成多盟广告墙
2012-12-06 16:59 35691.下载广告墙SDK最新版 ... -
ios 导航栏、工具栏、tab栏图标大小
2012-12-06 16:50 11342工具栏和导航栏上的图标尺寸应如下所示: 对于iPhoe和iP ... -
【转】Google Admob 广告最佳做法
2012-11-13 15:40 6583转自:https://developers.google.co ... -
【转】Google AdMob 广告 iOS 初级指南
2012-11-13 15:37 1542转自:https://developers.google.co ...
相关推荐
这个demo在虚拟器上会出现,调用广告有时候会出现Cannot find an ad network adapter with the name(s): com.google.DummyAdapter. Remember to link all required ad network adapters and SDKs,但在真机上没问题,...
AdMob是Google提供的一款强大的移动广告平台,专为开发者设计,用于在iOS和Android应用中集成广告,从而实现盈利。AdMob SDK for iOS是专门为苹果设备优化的版本,允许开发者在其应用程序中无缝地展示各种类型的广告...
本教程将详细介绍如何在iOS应用中集成两种常见的广告网络:Apple的iAD和Google的ADMOB。 首先,我们来了解这两个广告平台的基础知识: 1. **iAD**:由Apple提供,是专门为iOS和OS X设备设计的内置广告解决方案。...
AdMob是Google提供的一款强大的移动广告平台,它允许开发者在Android和iOS应用中展示各种类型的广告,如横幅广告、插屏广告、激励视频广告等,从而实现盈利。本教程将详细讲解如何将AdMob广告接入到您的应用程序中,...
AdMob是Google提供的一个广告网络平台,提供多种广告格式,如横幅广告、插屏广告和激励视频广告。以下是关于如何在Android Studio项目中接入AdMob的详细步骤和相关知识点: 1. **安装Google Play Services库** ...
AdMob是Google提供的一款强大的移动广告平台,专为开发者设计,用于在他们的应用程序中嵌入广告,从而实现盈利。这个“admob广告平台Demo”很可能是一个包含示例代码和配置文件的项目,帮助开发者理解如何在自己的...
AdMob是Google提供的一款强大的移动广告平台,它允许开发者在iOS、Android以及Amazon设备上展示广告,从而为应用创造收入。本指南将详细介绍如何在Unity引擎中集成AdMob,以便在各个平台上顺利发布并实现广告功能。 ...
google admob ads for unity插件,同时支持android和iOS。 支持新版本admob横幅很插屏广告。 android项目把admob_unity_plugin.unitypackage import进unity3d工程即可 然后把admobdemo.cs 复制到项目中,并修改...
在移动应用开发领域,iOS平台和Google AdMob的广告整合是一项常见的需求,旨在扩大广告覆盖面,提高收益。本文将深入探讨如何在iOS应用中整合iAd(苹果原生广告服务)与AdMob(谷歌的广告网络平台),以及如何做到无...
iOS AdMob SDK是Google提供的一个广告平台,专为iOS开发者设计,用于在他们的应用程序中集成广告。AdMob提供了一个简单、高效的方法来展示各种类型的广告,包括横幅广告、插屏广告和激励视频广告,帮助开发者实现...
【标题】"admob ane android ios 稳定附例子详细教程"涉及的主要知识点是Adobe Air应用开发中集成Google AdMob广告网络的过程,适用于Android和iOS平台。AdMob ANE(Adobe Native Extension)是一种扩展,它允许Air...
Admob是Google提供的一款强大的移动广告平台,广泛用于Android和iOS应用中,为开发者提供了多种广告格式,包括原生广告、插页广告和横幅广告。在这个“Admob广告加载示例”中,我们将深入探讨如何在Android应用程序...
在iOS应用开发中,将adMob移动广告集成到iPad或iPhone应用中是常见的盈利和推广方式。adMob是由Google提供的一项服务,它允许开发者在他们的应用程序中展示广告,从而赚取收入。本教程将深入探讨如何在iPad和iPhone...
AdMob是Google提供的一款强大的移动广告平台,它允许开发者在iOS和Android应用中轻松集成广告,从而实现盈利。AdMob ANE(Adobe Native Extension)是为了让Adobe Air开发者能够方便地在iOS应用程序中接入AdMob服务...
AdMob是Google的一款移动广告平台,允许开发者在他们的iOS应用中集成广告,从而实现盈利。这个SDK确保了对两种主要的iOS设备架构,即armv7和armv7s的支持,这涵盖了当时大部分的iOS设备。 1. **AdMob SDK**:AdMob ...
在iOS平台上集成谷歌广告,主要是为了在应用中展示广告,增加收入或推广产品。这个过程涉及到Google AdMob,它是Google提供的一个广告网络平台,适用于移动应用程序。以下将详细讲解如何在iOS项目中添加并配置谷歌...
AdMob是Google提供的一款强大的移动广告平台,它允许开发者在Android和iOS应用中集成广告,以实现盈利。本文将深入探讨AdMob广告展示的相关知识点,包括AdMob的基本概念、广告类型、集成步骤以及优化策略。 一、...
适用于 Xamarin iOS 的 Google Admob 绑定 谷歌 Admob 的 iOS 绑定项目,具有统一的 API 支持。 当前 AdMob 版本: 7.0.0. 目前包含的架构: armv7 armv7s arm64 i386 x86_64 主页: : 如何使用 您可以在 bin/...
Unity谷歌广告插件是开发者在Unity游戏或应用中集成Google AdMob广告的一种工具。AdMob是Google提供的一个全球领先的移动广告服务,它允许开发者通过展示广告来赚取收益。这款插件使得在Unity项目中实现广告的显示变...
AdMob是谷歌提供的一个强大且广泛使用的移动广告平台,它允许开发者在他们的应用程序中展示各种类型的广告,包括横幅广告、插屏广告和激励视频广告,从而实现盈利。本文将详细介绍如何在Android应用中集成AdMob广告...