将iAd与AdMob集成仅显示黑屏

时间:2015-02-09 17:32:43

标签: objective-c admob cocos2d-x iad cocos2d-x-3.0

我在Cocos2d 3.0中结合iAd和Admob时遇到了问题。整个屏幕变黑了。

我创建了一个视图控制器来处理iAd和Admob的加载。这是我在pastie.org上的代码,我相信用户在阅读问题时已经知道了集成iAd和Admob所需的步骤。

BannerViewController.h http://pastie.org/9926394

BannerViewController.m http://pastie.org/9926406

假设在AppDelegate.h中定义了以下内容

#define        isLite     1
#define     iADLoaded   1

要在GameScene中使用广告视图控制器,我编写以下代码块:

#ifdef isLite
    bannerViewC = [[BannerViewController alloc] initWithContentViewController: [CCDirector sharedDirector]];
    [[[[CCDirector sharedDirector] view] window] setRootViewController: bannerViewC];
    [bannerViewC showBanner];
#endif

bannerViewC在CCScene.h中定义,我们将在其中显示广告。

问题:问题是,当我尝试加载iAd时,设备屏幕变黑。意味着当iAdLoaded 1出现问题时,如果我们从委托中删除此定义语句,则无法定义iAdLoaded,控制器会完美地加载AdMob。问题是iAd,我无法弄清楚为什么iAd使用会使整个屏幕变黑。

如果有人有时间研究这个问题。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

喜欢回答我自己的问题:)。

如果有人面临这个问题,我只需更改一行代码即可解决问题。

我使用ADAdTypeBanner而不是ADBannerView *banner = [[ADBannerView alloc] initWithFrame: rect];(rect)。意味着删除为add指定rect的行导致了问题。