1

正如我所说,我的 iAd 有时工作,但有时不工作。它通常在第一次模拟器运行期间工作,但如果我开始打开不同的页面,它开始不起作用,所以我的代码强制横幅自行关闭(苹果规则)。它真的奇怪的原因我不知道为什么它这样做有时它可以正常工作,无论我通过多少个视图控制器它都会继续工作,但如果它开始不起作用,那么它对于许多视图控制器(具有不同的 h 和 m 文件)都不起作用然后突然它开始工作,经过几次成功的广告展示后,它又开始不工作了。我可以说它的工作成功率低于 %40,所以我必须解决它。

这与苹果 iad 服务器有关吗?

我正在模拟器 5.1 上测试我的应用程序,我只能收到我的横幅的 iad 测试广告,所以它们会是这个奇怪问题的原因吗?

iAd 是正常现象吗?

是我的代码应该受到责备吗?它缺少什么吗?

是关于 relasing iAd 还是我可以强制它尝试再次打开 iad ?

如果您知道有关此iad的方法,请帮助我!

h 文件

#import <UIKit/UIKit.h>
#import <iAd/iAd.h>

@interface a1viewcontroller : UIViewController < UIImagePickerControllerDelegate, UINavigationControllerDelegate > {



  ADBannerView *banner;    

}

@property (nonatomic, assign)BOOL bannerIsVisible;
@property (nonatomic, retain)IBOutlet ADBannerView *banner;



@end

文件

@synthesize banner, bannerIsVisible;

-(void)bannerViewDidLoad: (ADBannerView *)abanner {

    if (!self.bannerIsVisible) {
        [UIView beginAnimations:@"animatedAdBannerOn" context:NULL];
        banner.frame = CGRectOffset(banner.frame, 0.0, 50.0);
        [UIView commitAnimations];
        self.bannerIsVisible = YES;
    }


}

-(void)bannerView:(ADBannerView *)aBanner {

    if (!self.bannerIsVisible) {
        [UIView beginAnimations:@"animatedAdBannerOff" context:NULL];
        banner.frame = CGRectOffset(banner.frame, 0.0, -320.0);
        [UIView commitAnimations];
        self.bannerIsVisible = NO;
    }

}

其他视图控制器的代码相同。

4

2 回答 2

0

您可以使用以下方法来查看横幅的问题所在。

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
    NSLog(@"%@",error.localizedDescription);
}

确保您确实设置了横幅视图的委托。

我的猜测是这与 iAd 服务器有关。(不过不知道 iOS 6 中是否有很大变化。)

于 2012-10-25T07:51:08.340 回答
0

苹果文档说:

“在您开发应用程序时,iAd Network 会向您的应用程序发送测试广告。为了帮助您验证您的实施,iAd Network 有时会返回错误以测试您的错误处理代码。”

同样在我的应用程序中,iad 返回了正确横幅、错误 3、错误 5 的组合...

我认为当 iAd 将从“iAd Network services test ads”更改为“iAd Network services”时,此问题将在应用程序发布后消失如果您签署了 iAd 网络协议并为您的应用程序启用了广告,则可以投放实时广告”

于 2013-05-13T08:11:37.480 回答