- 浏览: 1124138 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (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学习笔记八
转自:[url]https://developers.google.com/mobile-ads-sdk/docs/ios/advanced?hl=zh-cn
[/url]
转载仅为防止被墙致无法查阅!
非页内广告概览
当用户轻触横幅广告这类小型广告时,通常会被引导至某种形式的应用内全屏浏览方式。
与之相对,非页内广告可以在应用的自然转换点(例如启动、视频前贴片或游戏关卡加载时)即刻呈现 HTML5 富媒体效果或“网络应用”。网络应用提供了应用内浏览体验,这类应用的特点是只有简单的关闭按钮,而没有任何导航栏:其内容有自己的内部导航架构。
从本质上说,这类广告效果更丰富、更吸引人,因此价格更昂贵,且展示机会有局限。
注意:所有发布商都可以在自己的应用中投放富媒体非页内自家广告,而付费非页内广告只向一部分发布商提供。如果您具备了发布资格,Google 一定会与您联系。
GADInterstitial
GADInterstitial 功能更丰富、也更重要,这反映在它的定义上:它不是 UIView,而是需要更明确的实例化、加载和显示步骤的 NSObject。
不过,它的用法与 GADBannerView 非常类似:
导入 GADInterstitial.h
在应用的 UIViewController 中声明 GADInterstitial 实例
加以创建
设置广告的单元 ID,也就是您的 AdMob 发布商 ID
同样,您最好在应用的 UIViewController 中执行上述步骤。
// InterstitialExampleViewController.h
// 从 SDK 导入 GADInterstitial 的定义
#import "GADInterstitial.h"
@interface InterstitialExampleViewController : UIViewController {
// 将其中一个声明为实例变量
GADInterstitial *interstitial_;
}
@end
以下代码会在视图控制器的 viewDidLoad 初始化挂钩 (Hook) 中设置非页内广告。
// InterstitialExampleViewController.m
#import "InterstitialExampleViewController.h"
@implementation MyInterstitialHostingViewController
- (void)viewDidLoad {
[super viewDidLoad];
interstitial_ = [[GADInterstitial alloc] init];
interstitial_.adUnitID = MY_INTERSTITIAL_UNIT_ID;
}
@end
您随时可以调用 loadRequest:,但只有在调用 GADInterstitialDelegate 的 interstitialDidReceiveAd: 后才能展示广告。如果收到 GADInterstitialDelegate 的 interstitial:didFailToReceiveAdWithError: 错误,请妥善处理错误环境。
非页内广告请求的默认超时值是 5 秒,但您可以在服务器的 AdMob 帐户内进行调整。
一旦加载成功,即可展示全屏广告:
[interstitial_ presentFromRootViewController:self];
接着,非页内广告会占据整个屏幕,直到用户将其关闭;届时,控制权才会交还给应用,而视图控制器则会传递给这个方法。
初始网页非页内广告
非页内广告有一种特殊用法,就是在应用启动时以“初始”网页的方式出现。
在应用委托的 application:didFinishLaunchingWithOptions: 内调用 loadAndDisplayRequest:usingWindow:initialImage:,可有效地将非页内广告排入队列,以便在其 isReady 时加以展示。屏幕上会继续显示初始图片(通常是应用的默认图片),直到加载请求成功或失败为止。
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
GADInterstitial *splashInterstitial_ = [[GADInterstitial alloc] init];
[splashInterstitial_ loadAndDisplayRequest:[GADRequest request]
usingWindow:window_
initialImage:[UIImage imageNamed:@"Default.png"]];
}
GADInterstitialDelegate
就像使用 GADBannerViewDelegate 时一样,开发人员可以选择实施全部或部分的 GADInterstitialDelegate 来跟踪非页内广告的生命周期事件。
@protocol GADInterstitialDelegate
@optional
- (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial;
- (void)interstitial:(GADInterstitial *)interstitial
didFailToReceiveAdWithError:(GADRequestError *)error;
- (void)interstitialWillPresentScreen:(GADInterstitial *)interstitial;
- (void)interstitialWillDismissScreen:(GADInterstitial *)interstitial;
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial;
- (void)interstitialWillLeaveApplication:(GADInterstitial *)interstitial;
@end
- (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial
在以下情况下发送:loadRequest: 已获得成功,且非页内广告处于 isReady 状态,随时可以适时展示。
- (void)interstitial:(GADInterstitial *)interstitial didFailToReceiveAdWithError:(GADRequestError *)error
当 loadRequest: 失败时发送。常见失败原因:网络故障、应用配置错误,或非页内广告资源不足(比在横幅广告中更常见)。您可以记下这些事件,以便进行调试。
- (void)interstitialWillPresentScreen:(GADInterstitial *)interstitial
发送后便立即向用户展示 interstitial。与使用 UIApplicationDidEnterBackgroundNotification 时类似,此时应该暂停所有动画、计时器或其他可能会与用户互动的活动,并保存应用状态。请注意,用户可能会在非页内广告内按下“首页”按钮或触摸到其他应用(例如 App Store 或 iTunes)的链接,并因此离开您的应用。
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial
当用户关闭 interstitial 且广告已从屏幕中退出时发送。
- (void)interstitialWillDismissScreen:(GADInterstitial *)interstitial
用以恢复您的应用和根视图控制器(在非初始网页的情况下),在此语句发送后,interstitial 便会紧跟着从屏幕中退出。这时应该重新启动 interstitialWillPresentScreen: 执行期间暂停的任何前台活动。
- (void)interstitialWillLeaveApplication:(GADInterstitial *)interstitial
在应用因为用户触摸 interstitial 内指向其他应用的链接而转至后台或终止运行前发送。在此之前,先会有 applicationDidEnterBackground: 等常规 UIApplicationDelegate 通知显示。
在这些方法中,您可以通过查看 GADBannerView.hasAutoRefreshed 来判断是否有刷新操作触发了事件。
同样,如果您将委托作为独特的对象来实施,则在发布非页内广告前,请务必将委托设为 nil。
[/url]
转载仅为防止被墙致无法查阅!
非页内广告概览
当用户轻触横幅广告这类小型广告时,通常会被引导至某种形式的应用内全屏浏览方式。
与之相对,非页内广告可以在应用的自然转换点(例如启动、视频前贴片或游戏关卡加载时)即刻呈现 HTML5 富媒体效果或“网络应用”。网络应用提供了应用内浏览体验,这类应用的特点是只有简单的关闭按钮,而没有任何导航栏:其内容有自己的内部导航架构。
从本质上说,这类广告效果更丰富、更吸引人,因此价格更昂贵,且展示机会有局限。
注意:所有发布商都可以在自己的应用中投放富媒体非页内自家广告,而付费非页内广告只向一部分发布商提供。如果您具备了发布资格,Google 一定会与您联系。
GADInterstitial
GADInterstitial 功能更丰富、也更重要,这反映在它的定义上:它不是 UIView,而是需要更明确的实例化、加载和显示步骤的 NSObject。
不过,它的用法与 GADBannerView 非常类似:
导入 GADInterstitial.h
在应用的 UIViewController 中声明 GADInterstitial 实例
加以创建
设置广告的单元 ID,也就是您的 AdMob 发布商 ID
同样,您最好在应用的 UIViewController 中执行上述步骤。
// InterstitialExampleViewController.h
// 从 SDK 导入 GADInterstitial 的定义
#import "GADInterstitial.h"
@interface InterstitialExampleViewController : UIViewController {
// 将其中一个声明为实例变量
GADInterstitial *interstitial_;
}
@end
以下代码会在视图控制器的 viewDidLoad 初始化挂钩 (Hook) 中设置非页内广告。
// InterstitialExampleViewController.m
#import "InterstitialExampleViewController.h"
@implementation MyInterstitialHostingViewController
- (void)viewDidLoad {
[super viewDidLoad];
interstitial_ = [[GADInterstitial alloc] init];
interstitial_.adUnitID = MY_INTERSTITIAL_UNIT_ID;
}
@end
您随时可以调用 loadRequest:,但只有在调用 GADInterstitialDelegate 的 interstitialDidReceiveAd: 后才能展示广告。如果收到 GADInterstitialDelegate 的 interstitial:didFailToReceiveAdWithError: 错误,请妥善处理错误环境。
非页内广告请求的默认超时值是 5 秒,但您可以在服务器的 AdMob 帐户内进行调整。
一旦加载成功,即可展示全屏广告:
[interstitial_ presentFromRootViewController:self];
接着,非页内广告会占据整个屏幕,直到用户将其关闭;届时,控制权才会交还给应用,而视图控制器则会传递给这个方法。
初始网页非页内广告
非页内广告有一种特殊用法,就是在应用启动时以“初始”网页的方式出现。
在应用委托的 application:didFinishLaunchingWithOptions: 内调用 loadAndDisplayRequest:usingWindow:initialImage:,可有效地将非页内广告排入队列,以便在其 isReady 时加以展示。屏幕上会继续显示初始图片(通常是应用的默认图片),直到加载请求成功或失败为止。
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
GADInterstitial *splashInterstitial_ = [[GADInterstitial alloc] init];
[splashInterstitial_ loadAndDisplayRequest:[GADRequest request]
usingWindow:window_
initialImage:[UIImage imageNamed:@"Default.png"]];
}
GADInterstitialDelegate
就像使用 GADBannerViewDelegate 时一样,开发人员可以选择实施全部或部分的 GADInterstitialDelegate 来跟踪非页内广告的生命周期事件。
@protocol GADInterstitialDelegate
@optional
- (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial;
- (void)interstitial:(GADInterstitial *)interstitial
didFailToReceiveAdWithError:(GADRequestError *)error;
- (void)interstitialWillPresentScreen:(GADInterstitial *)interstitial;
- (void)interstitialWillDismissScreen:(GADInterstitial *)interstitial;
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial;
- (void)interstitialWillLeaveApplication:(GADInterstitial *)interstitial;
@end
- (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial
在以下情况下发送:loadRequest: 已获得成功,且非页内广告处于 isReady 状态,随时可以适时展示。
- (void)interstitial:(GADInterstitial *)interstitial didFailToReceiveAdWithError:(GADRequestError *)error
当 loadRequest: 失败时发送。常见失败原因:网络故障、应用配置错误,或非页内广告资源不足(比在横幅广告中更常见)。您可以记下这些事件,以便进行调试。
- (void)interstitialWillPresentScreen:(GADInterstitial *)interstitial
发送后便立即向用户展示 interstitial。与使用 UIApplicationDidEnterBackgroundNotification 时类似,此时应该暂停所有动画、计时器或其他可能会与用户互动的活动,并保存应用状态。请注意,用户可能会在非页内广告内按下“首页”按钮或触摸到其他应用(例如 App Store 或 iTunes)的链接,并因此离开您的应用。
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial
当用户关闭 interstitial 且广告已从屏幕中退出时发送。
- (void)interstitialWillDismissScreen:(GADInterstitial *)interstitial
用以恢复您的应用和根视图控制器(在非初始网页的情况下),在此语句发送后,interstitial 便会紧跟着从屏幕中退出。这时应该重新启动 interstitialWillPresentScreen: 执行期间暂停的任何前台活动。
- (void)interstitialWillLeaveApplication:(GADInterstitial *)interstitial
在应用因为用户触摸 interstitial 内指向其他应用的链接而转至后台或终止运行前发送。在此之前,先会有 applicationDidEnterBackground: 等常规 UIApplicationDelegate 通知显示。
在这些方法中,您可以通过查看 GADBannerView.hasAutoRefreshed 来判断是否有刷新操作触发了事件。
同样,如果您将委托作为独特的对象来实施,则在发布非页内广告前,请务必将委托设为 nil。
发表评论
-
[转]解决 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 17797通过覆盖如下方法实现 - (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 1358转自:http://www.cppblog.com/inkcp ... -
ios内置付费IAP校验
2012-12-07 15:50 1619参考链接:http://developer.apple.com ... -
ios应用中集成多盟广告墙
2012-12-06 16:59 35681.下载广告墙SDK最新版 ... -
ios 导航栏、工具栏、tab栏图标大小
2012-12-06 16:50 11342工具栏和导航栏上的图标尺寸应如下所示: 对于iPhoe和iP ... -
【转】Google Admob 广告最佳做法
2012-11-13 15:40 6582转自:https://developers.google.co ... -
【转】Google AdMob 广告 iOS 初级指南
2012-11-13 15:37 1542转自:https://developers.google.co ...
相关推荐
本教程将详细介绍如何在iOS应用中集成两种常见的广告网络:Apple的iAD和Google的ADMOB。 首先,我们来了解这两个广告平台的基础知识: 1. **iAD**:由Apple提供,是专门为iOS和OS X设备设计的内置广告解决方案。...
AdMob是Google提供的一款强大的移动广告平台,它允许开发者在Android和iOS应用中展示各种类型的广告,如横幅广告、插屏广告、激励视频广告等,从而实现盈利。本教程将详细讲解如何将AdMob广告接入到您的应用程序中,...
AdMob是Google提供的一款强大的移动广告平台,它允许开发者在iOS、Android以及Amazon设备上展示广告,从而为应用创造收入。本指南将详细介绍如何在Unity引擎中集成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的一款移动广告平台,允许开发者在他们的iOS应用中集成广告,从而实现盈利。这个SDK确保了对两种主要的iOS设备架构,即armv7和armv7s的支持,这涵盖了当时大部分的iOS设备。 1. **AdMob SDK**:AdMob ...
根据提供的文件信息,我们可以从中提取出关于Google AdMob集成和ADBannerView类的相关知识点,这些知识点主要围绕在如何在移动应用中集成AdMob广告以及如何使用ADBannerView来展示横幅广告。以下是对这些知识点的...
Admob是Google提供的一款广告服务,它可以帮助开发者在应用中插入广告,从而实现盈利。现在我们将深入探讨如何在基于PhoneGap的iOS工程中集成并展示Admob广告。 首先,你需要确保已经安装了PhoneGap和Cordova。这两...
AdMob是Google提供的一款强大的移动广告平台,它允许开发者在他们的应用程序中展示各种类型的广告,从而获得收入。本指南将详细解释如何集成AdMob,包括添加横幅广告和插屏广告。 ### 一、AdMob账户创建与应用集成 ...
Unity谷歌AdMob集成指南 Unity是一款广泛应用于游戏开发的跨平台引擎,而Google AdMob是全球领先的移动广告网络,能够帮助开发者在他们的应用中插入广告,实现盈利。本指南将详细介绍如何在Unity项目中集成Google ...
虽然iAd已不再可用,但开发者可以考虑使用其他广告服务,如Google的AdMob或Facebook Audience Network。这些服务提供了类似的功能,并且在全球范围内有更广泛的广告网络。 **四、最佳实践和注意事项** 1. **用户...
11. **遵守政策**:确保你的应用符合Google AdMob的所有政策,包括但不限于用户隐私、内容适龄性和广告实施指南。 总之,Google Mobile Ads SDK for iOS是开发人员在iOS应用中集成广告的关键工具,它提供了丰富的...
AdMob是Google提供的一个移动广告平台,它允许开发者在其iOS应用中插入横幅广告、插屏广告和激励视频广告。AdMob的优点在于其广泛的广告网络和详细的广告性能报告。在iOS应用中集成AdMob,你需要首先在Google AdMob...
实现这种功能,我们需要集成广告SDK,例如Facebook Audience Network、Google AdMob等,这些SDK提供了便捷的API来创建和管理启动页广告。 "一句代码集成"可能指的是使用第三方库或框架,如WZXLaunch,这个开源项目...
这个SDK是Google AdMob服务的一部分,AdMob是一个强大的移动广告平台,允许开发者在他们的iOS应用中嵌入广告,从而赚取收入。 描述中提到,“iOS移动开发admob,并支持swift”,这意味着这个SDK不仅适用于Objective...
这里我们以AdMob为例进行讲解,因为它是Google提供的广泛使用的广告平台,且与Swift和iOS开发兼容性良好。 1. **集成AdMob SDK** 在Xcode项目中,你需要通过CocoaPods或Carthage管理依赖。创建Podfile文件,然后...
首先,iOS平台上的广告主要由Apple的Ad Frameworks提供,这包括iAd(已弃用)和现在的Apple Search Ads以及第三方广告网络如Google AdMob、Facebook Audience Network等。在这个"ios-ADDemo.zip"中,我们可能看到的...
在Appcelerator Titanium中使用Google Admob模块。 贡献者 贾斯珀·肯尼斯(Jasper Kennis) 乔恩·阿尔特 杰夫·英语 穆罕默德·大度 加里·马修斯 道森·托斯 汉斯·克诺歇尔 有兴趣贡献吗? 阅读指南。 问题 向...
AdMob是Google提供的一个移动应用广告平台,它允许开发者在Android和iOS应用中展示广告,从而赚取收入。这个项目可能是为HTML5游戏或Web应用提供的一个集成指南,因为HTML标签通常用于构建Web内容。 【集成Google ...