2 模拟器上的 iAd
Posted
技术标签:
【中文标题】2 模拟器上的 iAd【英文标题】:2 iAds on simulator 【发布时间】:2014-05-06 13:40:31 【问题描述】:我正在尝试创建 2 个 iAd,但我只有一个在模拟器上。我现在无法用设备检查它。为什么我只有一个?我只有第二个 iAd
我的代码是:
adView1 = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
adView1.frame = CGRectOffset(adView1.frame, 0, 50);
adView1.delegate = self;
[self.backgroundView addSubview:adView1];
adView2 = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
adView2.frame = CGRectOffset(adView2.frame, 0, 200);
adView2.delegate = self;
[self.backgroundView addSubview:adView2];
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
if (!self.bannerIsVisible)
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
// banner is invisible now and moved out of the screen on 50 px
if (banner == adView1)
banner.frame = CGRectOffset(banner.frame, 0, 50);
if (banner == adView2)
banner.frame = CGRectOffset(banner.frame, 0, 200);
[UIView commitAnimations];
self.bannerIsVisible = YES;
(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 如果(self.bannerIsVisible) [UIView beginAnimations:@"animateAdbannerOff" context:NULL]; // 由于连接问题,横幅可见,我们将其移出屏幕 banner.frame = CGRectOffset(banner.frame, 0, -50); [UIView 提交动画]; self.bannerIsVisible = 否;
(BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave NSLog(@"横幅视图正在开始一个广告操作"); 布尔应该执行动作 = 是; if (!willLeave && shouldExecuteAction) [音频暂停]; 返回应该执行动作; (void)bannerViewActionDidFinish:(ADBannerView *)banner [音频简历];【问题讨论】:
【参考方案1】:adView1.frame = CGRectOffset(adView2.frame, 0, 50);
必须是CGRectOffset(adView1.frame, 0, 50);因为 adView2 只分配在下一行???
【讨论】:
【参考方案2】:当您创建第一个视图时,您使用的是第二个视图的框架:
adView1 = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
adView1.frame = CGRectOffset(adView2.frame, 0, 50);
adView1.delegate = self;
[self.backgroundView addSubview:adView1];
由于 adView2 尚未创建 - 它是 nil 并且 frame 是 (0,0,0,0) 您必须像第二个视图一样使用 adView1 框架进行偏移。
另外,请记住,显示 2 个横幅违反了 Apple 准则,不建议这样做。看看这里(最佳实践部分) https://developer.apple.com/library/ios/documentation/userexperience/conceptual/iAd_Guide/WorkingwithBannerViews/WorkingwithBannerViews.html
【讨论】:
是的,我已经修好了,但第一个 bunner 仍然没有 iAd,只是 rect。如果我想使用 4 个横幅并作为背景(无需用户交互) - 它会被拒绝吗? Apple 的审批政策中没有这样的限制,您的应用不应被拒绝,但它可能会引起对您的应用程序的额外关注,并且版主可以对 iAd 提出一些问题。所以这是一个风险以上是关于2 模拟器上的 iAd的主要内容,如果未能解决你的问题,请参考以下文章