最近找整合的代码,找到的都不对,有个大概对的,但要奔溃退出,只要两个单独弄。

adMob 下载好sdk,导入进去,iAd的加入iad framework.

使用方法,在viewController viewDidAppear内添加

IADView* adView = [IADView sharedInstance];
[adView createAdBannerView:self.view TOP:0];

IADView

#import "iAd/ADBannerView.h"
#import "GADBannerViewDelegate.h"
#import "GADRequest.h" @interface IADView : UIViewController<ADBannerViewDelegate,GADBannerViewDelegate>{
ADBannerView *adView;
GADBannerView *adBanner;
bool bShowAD;
}
//@property (retain) UIViewController *presentingViewController; + (IADView *)sharedInstance;
- (void) createAdBannerView:(UIView*) parentView TOP:(NSInteger) top;
- (void) hideAdView;
- (void) showAdView; @end
#import "IADView.h"
#import "GADBannerView.h"
#import "GADRequest.h"
#define ADMOB_ID "ca-app-pub-8377493162678380/4602812906"
@implementation IADView @synthesize presentingViewController; static IADView *iADHelper = nil;
+ (IADView *) sharedInstance {
if (!iADHelper) {
iADHelper = [[IADView alloc] init];
}
return iADHelper;
} - (void)createAdBannerView:(UIView*) parentView TOP:(NSInteger) top{
bShowAD = true;
//IAd
adView = [[ADBannerView alloc]initWithFrame:CGRectMake(0, top, 320, 100)];
adView.delegate = self;
adView.hidden = YES; [parentView addSubview:adView]; //AdMob
adBanner= [[GADBannerView alloc] initWithFrame:CGRectMake(0.0, top, GAD_SIZE_320x50.width,GAD_SIZE_320x50.height)];
adBanner.adUnitID = [NSString stringWithUTF8String:ADMOB_ID];//调用id
adBanner.rootViewController = self;
adBanner.backgroundColor = [UIColor yellowColor];
adBanner.hidden = YES;
[self.view addSubview:adBanner];
[parentView addSubview:adBanner];
[adBanner setDelegate:self];
[adBanner loadRequest:[GADRequest request]];
} #pragma mark - iAd广告委托
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner
willLeaveApplication:(BOOL)willLeave
{
return YES;
} - (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
NSLog(@"iAd loaded, AdMob will close"); [adView.superview bringSubviewToFront:adView]; if (adBanner != nil)
{
adBanner.delegate = nil;
[adBanner removeFromSuperview];
adBanner = nil;
} if(bShowAD)
adView.hidden = NO;
} - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"\n==>iAd failed to load");
if(adView != nil)
adView.hidden = YES;
} #pragma mark - adMob委托
- (void)adViewDidReceiveAd:(GADBannerView *)adViewMob {
NSLog(@"Admob loaded, iAd will close");
[adBanner.superview bringSubviewToFront:adBanner];
if(adView!=nil){
[adView setDelegate:nil];
[adView removeFromSuperview];
adView = nil;
}
if(bShowAD)
adBanner.hidden = NO;
} - (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error {
NSLog(@"\n==>adMob ERROR Failed to receive ad with error: %@", [error localizedFailureReason]);
adBanner.hidden = YES;
} #pragma mark - 公共方法
- (void) showAdView
{
NSLog(@"hide Ads");
if(adView!=nil)
adView.hidden = YES; if (adBanner != nil)
adBanner.hidden = YES;
bShowAD = false;
} - (void) hideAdView
{
NSLog(@"show Ads");
if(adView!=nil)
adView.hidden = NO; if (adBanner != nil)
adBanner.hidden = NO;
bShowAD = true;
} -(void)dealloc{
NSLog(@"163");
if(adView!=nil)
[adView removeFromSuperview];
} @end

adMob iAd整合,随机根据网络状况自动显示。的更多相关文章

  1. 整合多个网络的拓扑结构并降维(Mashup)

    整合多个网络的拓扑结构并降维(Mashup) 介绍一个整合多个网络拓扑结构的方法,方法来源:Compact Integration of Multi-Network Topology for Func ...

  2. Android中获得网络状况的实现

    要得知网络状况就是要用networkinfo类这个类名还是把这个类的意思表达的很清晰的,network是网络,info是状况.判断是否有网用到了这个类的IsAvailable方法,这个方法返回的是这个 ...

  3. iOS 检测网络状态 自动判断 认为提示网络改变

    检测网络状态 在网络应用中,需要对用户设备的网络状态进行实时监控,目的是让用户了解自己的网络状态,防止一些误会(比如怪应用无能)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验WIFI\3G ...

  4. Python爬虫实战三之实现山东大学无线网络掉线自动重连

    综述 最近山大软件园校区QLSC_STU无线网掉线掉的厉害,连上之后平均十分钟左右掉线一次,很是让人心烦,还能不能愉快地上自习了?能忍吗?反正我是不能忍了,嗯,自己动手,丰衣足食!写个程序解决掉它! ...

  5. 理解dropout——本质是通过阻止特征检测器的共同作用来防止过拟合 Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了

    理解dropout from:http://blog.csdn.net/stdcoutzyx/article/details/49022443 http://www.cnblogs.com/torna ...

  6. 基于Task定时检测网络本地网络状况

    首先我们需要使用winInet.dll中的InternetGetConnectedState方法来检测本地是否连接网络,然后再通过ping的方式来获取网络状况. 然后我们采用Task来开辟一个线程来定 ...

  7. Unity获取Android和iOS手机系统电量及网络状况

    最开始考虑使用中间静态链接库来调用手机系统自带的API,但是在研究的过程中发现Android系统将电量等信息记录在了固定的文件中,所以只需要在C#中直接读取就可以而不需要中间库. a.Android版 ...

  8. js获得用户网络状况API

    js获得用户网络状况API 这是一个实验中的功能,目前还有许多浏览器不兼容此功能某些浏览器尚在开发中 1. 网络类型 effectiveType: 可以得到2g,3g,4g connectionInf ...

  9. ARM-CPU卷积网络的自动调谐

    ARM-CPU卷积网络的自动调谐 为特定的ARM设备自动调谐对于获得最佳性能至关重要.这是一个关于如何调整整个卷积网络的资料. 以模板的形式编写了TVM中ARM CPU的操作实现.模板有许多可调旋钮( ...

随机推荐

  1. python成长之路【第一篇】:python简介和入门

    一.Python简介 Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言. 二.安装python windows: 1.下载安装包 https://www.pyt ...

  2. [转载] nginx的负载均衡

    原文:http://www.srhang.me/blog/2014/08/27/nginx-loabbalance/ Nginx负载均衡 一.特点 1.1 应用情况 Nginx做为一个强大的Web服务 ...

  3. 【转】C/C++ struct/class/union内存对齐

    原文链接:http://www.cnblogs.com/Miranda-lym/p/5197805.html struct/class/union内存对齐原则有四个: 1).数据成员对齐规则:结构(s ...

  4. maven的仓库、生命周期与插件

    一.仓库 统一存储所有Maven项目共享的构建的位置就是仓库. 仓库分为本地仓库和远程仓库.远程仓库又分为中央仓库(中央仓库是Maven核心自带的远程仓库),伺服(另一种特殊的远程仓库,为节省宽带和时 ...

  5. (三)结构体指针、sizeof

    (一)结构体指针定义 今天上班写了一段测试代码,结果在linux下编译出现段错误,刚开始一直找不到原因,后来找了度娘才搞懂了.我先贴出来第一次写的代码以及gcc编译器下报的错误: #include&l ...

  6. active developer path ("") does not exist

    pod update --verbose --no-repo-update 出现的错误. 解决:在终端中修改你的CommandLine Tools的位置: xcode-select -switch / ...

  7. Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结

    Mysql中utf8_general_ci与utf8_unicode_ci有什么区别呢?在编程语言中,通常用unicode对中文字符做处理,防止出现乱码,那么在MySQL里,为什么大家都使用utf8_ ...

  8. C#_观察者模式

    假设有一个软件公司,每当有新产品推出,就把信息通知到一些客户. 把通知这个动作抽象成一个接口. public interface IService { void Notif(); } 客户如果想获得通 ...

  9. 动画Animation

    动画分类:Animation 单一动画 AnimationSet 复合动画 AnimationSet是Animation的实现子类,Animation是一个抽象类,他的实现子类主要有如下几种: 主要有 ...

  10. zabbix实现原理及架构详解

    想要用好zabbix进行监控,那么我们首要需要了解下zabbix这个软件的实现原理及它的架构.建议多阅读官方文档. 一.总体上zabbix的整体架构如下图所示: 重要组件说明: 1)zabbix se ...