如何在ios项目中显示GADInterstitial?

时间:2012-08-29 05:19:30

标签: iphone objective-c ios admob

如何在ios项目中显示GADInterstitial?我收到错误“请求错误:没有广告显示”但是admob正在我的另一个项目中工作。

//  ViewController.h
#import <UIKit/UIKit.h>
#import "GADBannerView.h"
#import "GADCustomEventBanner.h"
#import "GADInterstitial.h"

@interface ViewController : UIViewController <GADInterstitialDelegate>
{
    UIButton *interstitialButton_;
    GADInterstitial *interstitial_;
}

@property(nonatomic, retain) IBOutlet UIButton *interstitialButton;
@property(nonatomic, retain) GADInterstitial *interstitial_;

- (IBAction)showInterstitial:(id)sender;

@end



//ViewController.h
#import "ViewController.h"

@implementation ViewController
@synthesize interstitialButton ;
@synthesize interstitial_;

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

- (void)interstitial:(GADInterstitial *)interstitial
didFailToReceiveAdWithError:(GADRequestError *)error {
    // Alert the error.
    UIAlertView *alert = [[[UIAlertView alloc]
                           initWithTitle:@"GADRequestError"
                           message:[error localizedDescription]
                           delegate:nil cancelButtonTitle:@"Drat"
                           otherButtonTitles:nil] autorelease];
    [alert show];

    interstitialButton_.enabled = YES;
}

-(void)interstitialWillPresentScreen:(GADInterstitial *)ad{
    NSLog(@"on screen");
}
- (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial {
    [interstitial presentFromRootViewController:self];
    interstitialButton_.enabled = YES;
    [self showInterstitial:nil];
}

- (IBAction)showInterstitial:(id)sender {

    self.interstitial_ = [[[GADInterstitial alloc] init] autorelease];

    self.interstitial_.delegate = self;

    self.interstitial_.adUnitID = MY_ADMOB_KEY;   // this key is working in admob //   
    GADRequest *request = [GADRequest request];
    request.testing = YES;
    [self.interstitial_ loadRequest: request];
    interstitialButton_.enabled = NO;
}

@end

enter image description here

2 个答案:

答案 0 :(得分:1)

在admob网站的设置中将广告尺寸更改为全屏。

答案 1 :(得分:0)

self.interstitial_.adUnitID = MY_ADMOB_KEY; //这个密钥在admob中工作

检查此评论,并将其替换为:

self.interstitial_.adUnitID = @&#34; ca-app-pub-xxxxxxxxxxx&#34 ;; //这个密钥在admob中工作

你应该得到自己的adUnitID表单admob