1

私が言ったように、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でも同じです。

4

2 に答える 2

0

次の方法を使用して、バナーの問題を確認できます。

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

バナービューのデリゲートを設定したことを確認してください。

私の推測では、それは iAd サーバーに関連しています。(ただし、iOS 6 で大きく変更されたかどうかはわかりません。)

于 2012-10-25T07:51:08.340 に答える