任何人都可以提供一些帮助吗?我刚刚收到Apple提供的反馈,建议我的应用程序无法被接受,因为它包含的广告在没有广告投放时仍然可见,麻烦的是我无法弄清楚要做些什么来防止这个问题。
[QUOTE]
我们已经完成了您的审核 应用;但是,我们不能发帖 这个版本到App Store因为 它显示一个空的iAd横幅 广告内容不可用。该 应隐藏应用内的横幅 每当广告内容不存在时 由iAd提供服务。我们已经包括在内 以下其他详细信息可帮助您 解释这个问题。我们希望你能 考虑修改并重新提交 你的申请。
处理广告内容的情况 不可用,你需要 实现横幅视图委托。一个 此处包含示例代码段 为了您的方便。另外, 您可以查看该部分 iAd的“使用横幅视图” 具体的编程指南 细节: https://developer.apple.com/iphone/prerelease/library/documentation/UserExperience/Conceptual/iAd_Guide/WorkingwithBannerViews/WorkingwithBannerViews.html
横幅视图代表删除a 广告时的横幅视图 不可用:
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
if (self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
// assumes the banner view is at the top of the screen.
banner.frame = CGRectOffset(banner.frame, 0, -50);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
}
现在我正在努力解决的问题是如何处理该代码,当我尝试将其放入其中时只会抛出几个红色错误,所以我来寻求建议,任何人都可以帮助我在这里?
编辑: 主视图控制器海报要求的代码
//
// MainViewController.m
// GBSoundboard4
//
// Created by David Clarke on 19/06/2010.
// Copyright __MyCompanyName__ 2010. All rights reserved.
//
#import "MainViewController.h"
#import <AVFoundation/AVAudioPlayer.h>
@implementation MainViewController
-(IBAction)goodafternoon {
NSString *path = [[NSBundle mainBundle] pathForResource:@"goodafternoon" ofType:@"wav"];
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[theAudio play];
}
-(IBAction)jollygood {
NSString *path = [[NSBundle mainBundle] pathForResource:@"jollygood" ofType:@"wav"];
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[theAudio play];
}
-(IBAction)playSound {
NSString *path = [[NSBundle mainBundle] pathForResource:@"goodmorning" ofType:@"wav"];
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
[theAudio play];
}
-(IBAction)upgrade {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/gb/app/the-great-british-soundboard/id376263018?mt=8"]];
}
/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
*/
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller {
[self dismissModalViewControllerAnimated:YES];
}
- (IBAction)showInfo:(id)sender {
FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc. that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations.
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
- (void)dealloc {
[super dealloc];
}
@end
答案 0 :(得分:4)
你需要做的是这个事件 - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError) *)
使用bannerView的视图通过调整其框架大小来覆盖横幅,以覆盖屏幕上的bannerView空间并将bannerView框架的原点移动到屏幕外
乙 然后打开 - (void)bannerViewDidLoadAd:(ADBannerView *)banner
调整视图大小以便为BannerView腾出空间,并将bannerView框架的原点移回屏幕上的空间。
答案 1 :(得分:1)
有一个很好的例子说明如何在WWDC 2010会话视频112中实现这一点。如果您注册了iPhone开发人员计划,可以从iTunes大学下载,如下所述。
假设您参与Apple开发者计划,您收到了一封名为“WWDC for everyone”的电子邮件。按照电子邮件中的链接,直到进入iTunes大学。然后按照框架的链接,选择会话112.我认为实施大约是25分钟。
答案 2 :(得分:0)
您需要完全按照他们的描述进行操作。首先,您需要使MainViewController成为ADBannerView实例的委托。然后,只需将他们提交给您的代码复制并粘贴到MainViewController的实现中即可。这假定您的横幅显示在屏幕底部。如果它出现在顶部,则反转他们提供的代码中的动画方向。
如果您的横幅无法加载广告(直到7月1日该服务上线,甚至在此之后,如果没有连接到网络或库存下降),则会调用此委托方法。此外,您可以响应ADBannerViewDelegate protocol。
中描述的其他委托回调正如他们所建议的那样,iAd Programming Guide的相应部分对此进行了介绍。