使用cocos2d的Admob插页式广告

时间:2014-10-08 09:48:27

标签: c++ ios admob cocos2d-x

我正在使用cocos2d-x为IOS开发游戏。现在,我正在尝试使用Admob实施插页式广告。我想让它们在我的GameOver场景中弹出(就像我在其他游戏中看到的那样)。

有谁知道怎么做?

这就是我的GameOver场景的样子:

//
//  IntroScene.m
//  Cocos2DSimpleGame
//
//  Created by Martin Walsh on 18/01/2014.
//  Copyright Razeware LLC 2014. All rights reserved.
//
// -----------------------------------------------------------------------

// Import the interfaces
#import "GameOverClass.h"
#import "HelloWorldScene.h"
#import "AppDelegate.h"
#import "GADInterstitial.h"
#import "GADInterstitialDelegate.h"


// -----------------------------------------------------------------------
#pragma mark - IntroScene
// -----------------------------------------------------------------------

@implementation GameOverClass
int score1;
Boolean newhighscore;


// -----------------------------------------------------------------------
#pragma mark - Create & Destroy
// -----------------------------------------------------------------------

+ (GameOverClass *)scene
{
    return [[self alloc] init];

}

// -----------------------------------------------------------------------

- (id)init
{

    // Apple recommend assigning self with supers return value
    self = [super init];
    if (!self) return(nil);

    CCNodeColor *background = [CCNodeColor nodeWithColor:[CCColor colorWithRed:0.1f green:0.7f blue:1.0f alpha:1.0f]];
    [self addChild:background];

    CCSprite *logo = [CCSprite spriteWithImageNamed:@"gameover.png"];
    logo.position = CGPointMake(self.contentSize.width/2, self.contentSize.height - logo.contentSize.height);
    logo.zOrder = 10;
    [self addChild:logo];
    /*
    CCSprite *high = [CCSprite spriteWithImageNamed:@"highscore.png"];
    high.position = ccp(0.5f, 0.75f);
    high.zOrder = 10;


    [self addChild:high];
    */
    // Spinning scene button
    CCButton *spinningButton = [CCButton buttonWithTitle:@"[ Try Again ]" fontName:@"Verdana-Bold" fontSize:18.0f];
    spinningButton.positionType = CCPositionTypeNormalized;
    spinningButton.position = ccp(0.5f, 0.35f);
    spinningButton.zOrder = 10;
    [spinningButton setLabelColor:[CCColor colorWithRed:1.0f green:0.7f blue:0.0f alpha:1.0f] forState:CCControlStateNormal];
    [spinningButton setTarget:self selector:@selector(onSpinningClicked:)];
    [self addChild:spinningButton];

2 个答案:

答案 0 :(得分:0)

试试这个:

@import GoogleMobileAds;

@interface YourClass () <GADInterstitialDelegate>

@property(nonatomic, strong) GADInterstitial *interstitial;

@end

@implementation YourClass
-(id) init
{
    if( (self = [super init])) {
        self.interstitial = [self createAndLoadInterstitial];
        //add your code here
    }
}

- (GADInterstitial *)createAndLoadInterstitial {
    GADInterstitial *interstitial =
    [[GADInterstitial alloc] initWithAdUnitID:@"YOUR_ADMOB_UNIT_ID"];
    interstitial.delegate = self;
    [interstitial loadRequest:[GADRequest request]];
    return interstitial;
}

#pragma mark - GADInterstitialDelegate
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial {
    self.interstitial = [self createAndLoadInterstitial];
}

- (void)showInterstitial
{
    if (self.interstitial.isReady) {
        [self.interstitial presentFromRootViewController:[CCDirector sharedDirector]];
    } else {
        NSLog(@"Ad wasn't ready");
    }
}

答案 1 :(得分:-2)

Cocos2d-x有一个Admob插件,但该插件的插页式部分不完整,这意味着您必须使用Objective-C编写一些接口代码。

如果您还没有解决问题,请查看PluginAdmob。这将是一个很好的起点。