2013-10-10 173 views
3

我想补充ADMOB到我的Xcode项目,但是当在iPhone和模拟器测试它,我收到此错误:AdMob的Ios的错误:无法获得广告与错误:请求错误:没有广告显示

AdMob Ios Error: Failed to receive ad with error: Request Error: No ad to show.

我的代码Banner.h:

#import <UIKit/UIKit.h> 
#import "GADBannerViewDelegate.h" 

@class GADBannerView, GADRequest; 

@interface BannerExampleViewController : UIViewController 
    <GADBannerViewDelegate> { 
    GADBannerView *adBanner_; 
} 

@property (nonatomic, retain) GADBannerView *adBanner; 

- (GADRequest *)createRequest; 

@end 

Banner.m

#import "BannerExampleViewController.h" 
#import "GADBannerView.h" 
#import "GADRequest.h" 
#import "SampleConstants.h" 

@implementation BannerExampleViewController 

@synthesize adBanner = adBanner_; 

#pragma mark init/dealloc 

// Implement viewDidLoad to do additional setup after loading the view, 
// typically from a nib. 
- (void)viewDidLoad { 
    [super viewDidLoad]; 

    // Initialize the banner at the bottom of the screen. 
    CGPoint origin = CGPointMake(0.0, 
           self.view.frame.size.height - 
           CGSizeFromGADAdSize(kGADAdSizeBanner).height); 

    // Use predefined GADAdSize constants to define the GADBannerView. 
    self.adBanner = [[[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner 
                origin:origin] 
        autorelease]; 

    // Note: Edit SampleConstants.h to provide a definition for kSampleAdUnitID 
    // before compiling. 
    self.adBanner.adUnitID = kSampleAdUnitID; 
    self.adBanner.delegate = self; 
    [self.adBanner setRootViewController:self]; 
    [self.view addSubview:self.adBanner]; 
    self.adBanner.center = 
     CGPointMake(self.view.center.x, self.adBanner.center.y); 
    [self.adBanner loadRequest:[self createRequest]]; 
} 

- (void)dealloc { 
    adBanner_.delegate = nil; 
    [adBanner_ release]; 
    [super dealloc]; 
} 

- (NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskPortrait; 
} 

#pragma mark GADRequest generation 

// Here we're creating a simple GADRequest and whitelisting the application 
// for test ads. You should request test ads during development to avoid 
// generating invalid impressions and clicks. 
- (GADRequest *)createRequest { 
    GADRequest *request = [GADRequest request]; 

    // Make the request for a test ad. Put in an identifier for the simulator as 
    // well as any devices you want to receive test ads. 
    request.testDevices = 
     [NSArray arrayWithObjects:@"6a47e320f03fe2ab9854afe2e5708321", nil]; 
    return request; 
} 

#pragma mark GADBannerViewDelegate impl 

// We've received an ad successfully. 
- (void)adViewDidReceiveAd:(GADBannerView *)adView { 
    NSLog(@"Received ad successfully"); 
} 

- (void)adView:(GADBannerView *)view 
    didFailToReceiveAdWithError:(GADRequestError *)error { 
    NSLog(@"Failed to receive ad with error: %@", [error localizedFailureReason]); 
} 

@end 
+0

一切看起来不错,请确保您的AdMob的“kSampleAdUnitID”键是完美的。 –

+1

@ D-eptdeveloper是的..我敢肯定 –

+1

同样的错误:无法接收带有错误的广告:请求错误:无广告显示。 –

回答

0

这是因为服务器尚未更新。 您应该等待15分钟,然后重试,它会正常工作。

PS:记住AdMob的

此代码正常工作与你的App ID替换kSampleAdUnitID当我用我的ID

+0

你怎么知道我们应该等15分钟? – KarenAnne

+0

服务器不立即响应,这就是为什么你应该等待。如果您添加应用程序并让您的游戏立即运行,它将无法工作,因为它不在系统中。 – Huygamer

+0

呃你是说,等15分钟后,你已经添加?广告之间的时间间隔如何? – KarenAnne

6

还有一点需要指出的测试 - 如果您的横幅广告空间宽度/高度设置为0,您将收到完全相同的错误。我目前正在尝试解决此问题,因为我只想在广告成功加载时在屏幕上为广告视图设置动画效果。

+0

你管理过吗? – Yitzchak

+0

明白了,Admob不喜欢我们在横幅视图中使用隐藏。但是,当我们从超级视图中移除并添加时,它会很喜欢。动画不太优雅。但没有错误! – Yitzchak

+0

嗨,你解决了这个问题..高度问题 –

相关问题