将 iAd 与 AdMob 集成仅显示黑屏

Integrating iAd with AdMob displays only black screen

我在 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 时设备屏幕变黑。意思是,当 iAdLoaded1 时,问题就会发生,如果我们从委托中删除此定义语句意味着不定义 iAdLoaded,控制器会完美地加载 AdMob。问题是只有iAd,我不明白为什么iAd使用会把整个屏幕变黑。

如果有人有时间调查一下。感谢您的帮助。

想回答我自己的问题:)。

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

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