私が言ったように、iAd は時々機能しますが、機能しないこともあります。通常、最初のシミュレーターの実行中に機能しますが、別のページを開き始めると機能しなくなるため、私のコードはバナーを強制的に閉じます (Apple ルール)。奇妙な原因なぜこれを行うのかはわかりません.渡したView Controllerの数に関係なく問題なく動作することがありますが、動作しなくなった場合は、多くのviewcontrollers(異なるhおよびmファイルを持つ)で動作しません.その後、突然機能し始め、いくつかの成功した広告が表示された後、再び機能しなくなります。機能する成功率は %40 を下回っていると言えるので、解決する必要があります。
これはアップルのiadサーバーに関連するものですか?
シミュレーター 5.1 でアプリをテストしていますが、バナーの iad テスト広告しか受信できないため、この奇妙な問題の原因になる可能性がありますか?
それはiAdにとって普通のことですか?
私のコードは何かが欠けているのですか?
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
mファイル
@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;
}
}
コードは他のView Controllerでも同じです。