2013年7月16日星期二

[转] add Admob with Cocos2d-x on iOS

add Admob with Cocos2d-x on iOS

1. download admob, setup your account


2. add admob to xcode project. You need:
    - add libGoogleAdmobAds.a to bundle libraries
    - create a group and add admob header file

3.  in AppController.h, add member:     
@interface AppController : NSObject <
UIAccelerometerDelegate, UIAlertViewDelegate, UITextFieldDelegate,UIApplicationDelegate, GADBannerViewDelegate> {
    UIWindow *window;
    RootViewController    *viewController;
    GADBannerView* bannerView_;
}

4. in AppController.mm
    // setup admob
    
    // Create a view of the standard size at the bottom of the screen.
    // Available AdSize constants are explained in GADAdSize.h.
    bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
    bannerView_.delegate = self;
    // Specify the ad's "unit identifier." This is your AdMob Publisher ID.
    bannerView_.adUnitID = @"YOUR_ID";
    
    // Let the runtime know which UIViewController to restore after taking
    // the user wherever the ad goes and add it to the view hierarchy.
    bannerView_.rootViewController = viewController;
    [viewController.view addSubview:bannerView_];
    
    
    // Initiate a generic request to load it with an ad.
    GADRequest* adRequest = [GADRequest request];
    [bannerView_ loadRequest:adRequest];

    // start game
    cocos2d::CCApplication::sharedApplication()->run();

5. we are not over Yet!!!
    You'll have exceptions if running the app now. You must do this:
(http://stackoverflow.com/questions/12635283/admob-crashes-with-gadobjectprivate-changestate-unrecognized-selector)
You need to add -ObjC to the Other Linker Flags of your application target's build setting:

Click the blue top-level project icon in XCode
Choose your target and go to Build Settings
Under Other Linker Flags add -ObjC for both Release and Debug

Done!!!
Let's make money and go IPO :)

没有评论: