- 浏览: 1100370 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1081转自:http://www.oschina.net/ques ... -
CocoStudio简介
2014-03-05 19:19 1372一、概述 1.1.功能简介 CocoS ... -
xcode5预览版下载地址
2013-06-16 09:56 21761.xcode5预览版下载地址 http://adcdo ... -
解决提交应用到AppStore时,提示UUID及UIDevice错误
2013-06-04 03:34 22161.如果使用了Admob,更新到最新版本6.4.2,删除Add ... -
解决Could not instantiate class named NSLayoutConstraint
2013-02-17 10:22 1379点击xib或storyboard文件,在右边的 inspect ... -
objective-c的arc项目中使用不支持arc的依赖库时编译错误的解决
2013-02-06 14:04 1120在Target->build phases->Co ... -
xcode4.6下载地址
2013-02-04 12:08 3052http://adcdownload.apple.com/De ... -
Mac上的DMG与ISO互转
2013-01-14 14:59 10981.把DMG转为ISO hdiutil convert /p ... -
设置ios中DatePicker的日期为中文格式
2012-12-18 18:12 71871.在模拟器中的“设置”-“通用”-“多语言环境”-“语言”设 ... -
Xcode 错误- Could not launch app - No such file or directory Error.
2012-12-14 11:50 1785通常发生在联机调试过程中,新旧工程交替测试 解决方 ... -
UIPickerView控件中自定义显示的字体大小及样式
2012-12-14 00:21 17742通过覆盖如下方法实现 - (UIView *)pickerV ... -
Flurry analytics SDK集成步骤及功能简介
2012-12-13 11:48 15312Flurry analytics SDK集成步骤及功能 ... -
Xcode4中显示“Line Numbers”行号
2012-12-11 10:46 1048Xcode4中显示“Line Numbers”行号 1 ... -
ios代码备忘
2012-12-09 00:23 14081.自定义导航栏返回按钮 self.navigationIt ... -
iOS OpenSource Library Collection
2012-12-07 17:45 1315转自:http://www.cppblog.com/inkcp ... -
ios内置付费IAP校验
2012-12-07 15:50 1531参考链接:http://developer.apple.com ... -
ios应用中集成多盟广告墙
2012-12-06 16:59 34921.下载广告墙SDK最新版 ... -
ios 导航栏、工具栏、tab栏图标大小
2012-12-06 16:50 11174工具栏和导航栏上的图标尺寸应如下所示: 对于iPhoe和iP ... -
【转】Google Admob 广告最佳做法
2012-11-13 15:40 6525转自:https://developers.google.co ... -
【转】Google AdMob 广告 iOS 初级指南
2012-11-13 15:37 1468转自: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 广告 SDK IOS
iOS中加入iAD和ADMOB广告 原文地址:http://blog.csdn.net/ioswyl88219/article/details/19355069
AdMob广告接入教程.rar
google admob ads for unity插件,同时支持android和iOS。 支持新版本admob横幅很插屏广告。 android项目把admob_unity_plugin.unitypackage import进unity3d工程即可 然后把admobdemo.cs 复制到项目中,并修改...
Admob for iOS Android Amazon.rar
2018-04-23: admob广告平台Demo测试手机需要谷歌全家桶!
Admob ane for ios , 可以给Ios 添加Admob 广告
适用于 Xamarin iOS 的 Google Admob 绑定 谷歌 Admob 的 iOS 绑定项目,具有统一的 API 支持。 当前 AdMob 版本: 7.0.0. 目前包含的架构: armv7 armv7s arm64 i386 x86_64 主页: : 如何使用 您可以在 bin/...
ios admob sdk的简单用法。AdMob 是移动电话广告市场。很方便在自己的APP里加入。用法很简单。
Admob iOS SDK 7.0.0 版,改进对iOS8的支持。•Dropped support for iOS 5. •Released SDK as a framework. •Removed dependency on the -ObjC linker flag. •Improved ad loading time on iOS 8. •Added ...
Admob-iOS 用于在Libgdx中为iOS设置Admob 阅读Tutorial.pdf以获得说明。
演示Admob在android上的加载,包含原生广告,插页广告,横幅广告。需要源码的,私信我。
GoogleAdmob接入封装,androidstudio中接入admob。
iPad/iPhone 增加adMob移动广告Demo
教你如何在你的移动应用中添加谷歌admob的广告 请下载源码实例 已经所需要的lib库
admob广告android嵌入教程,软松实现广告收入
整合苹果广告和谷歌广告 用法简单 无警告
google admob广告SDK官方DEMO下载
最近工作内容偏少,我就把最近公司游戏接入GoogleAdMob广告SDK的笔记整理了一下,做了个Unity接入demo(unity工程)。只需更换自己的appID和广告id就可以使用。各个注意点均注释。已有50余款Googleplay上线游戏验证...