adMob iAd整合,随机根据网络状况自动显示。
2014-12-03 12:26
295 查看
最近找整合的代码,找到的都不对,有个大概对的,但要奔溃退出,只要两个单独弄。
adMob 下载好sdk,导入进去,iAd的加入iad framework.
使用方法,在viewController viewDidAppear内添加
IADView
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整合,随机根据网络状况自动显示。
- Dialog根据网络状态显示,网络正常自动消失时,dismiss无效
- 怎样编写支持多国语言的程序, 让它能够根据所运行的操作系统自动显示相应的文字。
- 根据传入值,自动显示标签 select 下拉选项
- JS根据表单中的选项,自动生成span标签后显示选中的内容
- c#实现根据网络IP显示地理位置功能
- 单行显示的UILabel根据文字内容自动调整宽度,文字下方加下划线
- 如何让div根据内容自动显示水平垂直滚动条
- android根据density自动放大网络图片
- 汇编语言:在屏幕上随机显示矩形色块,分手动和自动模式。
- 详解UIWebView之网络状况显示
- c#实现根据网络IP显示地理位置功能示例
- jsp中 根据传入值,采用javascript自动显示标签下拉选项
- 如何让从数据库中查询出符合条件的记录,然后给每个记录自动加上序号,序号是根据符合条件的记录多少在随时变化.而且也会在以查询生成的报表中显示出来.谢谢
- 谷歌整合旗下资产推出显示广告网络
- 重写java中JButton,实现图片下显示文字(根据图片宽度文字自动换行)
- textbox控件会根据里面显示的文字行数自动调整自己的大小
- 怎样编写支持多国语言的程序, 让它能够根据所运行的操作系统自动显示相应的文字。
- IPERF+PYTHON自动生成网络状况报道,增强版杀到!!
- android根据density自动放大网络图片