0

我目前正在将我的应用程序从 AdWhirl 切换到 admob 中的中介。除了在 iPhone 的 4.3 模拟器上,我让它在任何地方都能正常工作。它适用于 4.3 iPad 和 >=5 iPhone/iPad。(我的 4.3 设备不幸结束了,所以我现在无法测试...)

在 iPhone 上 AdMob 广告可以正常显示,但在显示 iAd 时,需要旋转设备才能显示广告。我不知道我做错了什么,或者它是否是框架中的错误。

我在这里有一个示例项目演示该问题。

任何想法是什么原因造成的?

谢谢你的帮助!

编辑:我已经在实际设备上进行了测试,这似乎也是一个问题。

4

1 回答 1

0

看来这是框架中的一个错误。这是我想出的解决方法:

if ([self.controller.admobView.mediatedAdView isKindOfClass:[ADBannerView class]]) {
   if (![self.controller.admobView.mediatedAdView isDescendantOfView:self.controller.admobView]) {
      [self.controller.admobView addSubview:self.controller.admobView.mediatedAdView];
   }
   if (self.controller.admobView.mediatedAdView.frame.size.height == 0) {
      CGRect iadFrame;
      iadFrame.origin.x = iadFrame.origin.y = 0;
      iadFrame.size = [ADBannerView sizeFromBannerContentSizeIdentifier:((ADBannerView*)self.controller.admobView.mediatedAdView).currentContentSizeIdentifier];
      self.controller.admobView.mediatedAdView.frame = iadFrame;
   }
}

我还没有遇到任何问题,但时间会证明它是否会导致任何其他问题......(请注意,我将高度与零进行比较,而不是检查零矩形,因为该比较由于某种原因失败在我的测试中......)

(我也在admob群发过帖子,说不定会有人知道更多……)

于 2012-07-13T02:30:52.843 回答