1

几周以来,我一直在尝试显示 admob 插页式广告,但没有成功,我设法显示正常的横幅广告,但我不知道显示插页式广告的正确方法,这是我尝试过的代码(遵循 admob 指南)

在我的 mainViewcontroller.h

@interface MainViewController : CDVViewController 

<GADBannerViewDelegate> {
    GADBannerView *adBanner_;
    GADInterstitial *interstitial_;

}

在我的 mainViewController.m

@implementation MainViewController


@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];


    interstitial_ = [[GADInterstitial alloc] init];
    interstitial_.adUnitID = @"XXXXXXXXXXXXXX";
    [interstitial_ loadRequest:[GADRequest request]];
    [interstitial_ presentFromRootViewController:self];



    // Initialize the banner at the bottom of the screen.
    [adBanner_ setFrame:CGRectMake(100,
                                     100,
                                     adBanner_.bounds.size.width,
                                     adBanner_.bounds.size.height)];

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

    // Note: Edit SampleConstants.h to provide a definition for kSampleAdUnitID
    // before compiling.
    self.adBanner.adUnitID = @"XXXXXXXXXXXXXXX";
    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]];



}
4

1 回答 1

7

您需要等到广告加载成功,然后才能在插页式广告的情况下展示它。否则广告不会出现。

为此,请确认 GADInterstitialDelegate 协议并将您的视图控制器设置为 interstitial_ 的委托。

interstitial_.delegate = self;

然后按如下方式实现 interstitialDidReceiveAd。

- (void)interstitialDidReceiveAd:(DFPInterstitial *)ad
{
    [interstitial_ presentFromRootViewController:self];
}
于 2013-09-26T06:15:05.347 回答