ネットワークに接続したときに問題なく表示されるiAdがあります。 iOSシミュレータやデバイスでのテストで、アプリを開くと、iAdを見て、設定に行き、飛行機モードをオンにして、アプリに戻ると、バナーが画面外にスライドします。すばらしいです。今、飛行機モードをオフに戻すと(ネットワークがオン)、10-15分待ってからiAdが再表示されません。ネットワーク切断後のiAdリフレッシュ
だから、ここに私の質問は以下のとおりです。
のiAdテスト広告自体は(毎分程度)だろう本当のiAdと同じをリフレッシュしていますか?
ネットワークが検出されたときにiAdを強制的に更新して新しい広告をリクエストする方法はありますか?私はちょうどどこでもテスト広告の行動についての情報を見つけることができない、と私はApp Storeにアプリをアップロードするまで、私は本当の広告をテストすることはできません
(右?)
相続人私のコード:
のiAdが作成されます。
- (void)viewDidLoad
{
adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 410, 320, 50)];
adView.frame = CGRectOffset(adView.frame, 0, 50);
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
[self.view addSubview:adView];
adView.delegate=self;
self.bannerIsVisible=NO;
[super viewDidLoad];
}
そして、デリゲートメソッドを:
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
NSLog(@"AdWin");
if (!self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOn" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, -50);
[UIView commitAnimations];
self.bannerIsVisible = YES;
}
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"AdLose");
if (self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0, 50);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
}
デリゲートメソッドNSLog
は、広告が更新されたときに期待していたように、1分ごとに表示されるのではなく、1回だけ表示されます。
提案していただきありがとうございます。私が困惑しているのは、iPhoneとinterent接続でxcodeを使ってアプリケーションを起動することです。予想通り、60秒ごとにログ "AdWin"を取得します。飛行機モードをオンにした場合を除いて、同じ方法でアプリを起動すると、ログに「AdLose」が一度だけ表示されます。私はそれが60秒ごとに失敗すると予想していたでしょう。 「エラードメイン= ADErrorDomainコード= 1」操作を完了できませんでした(ADErrorDomainエラー1)。「 –
私はその時点でもスタックされています。私のテストで私はNSURLエラーを受け取り、明らかにNSURLエラーがうまく処理されるADErrorです。私は、次のようなロジックを含めることをお勧めします:エラーが発生し、ADErrorxxxがバナーを強制終了し、再度開始する(つまり、viewDidLoadのようにrelease + realloc)。 – gregory
私はこれを最も受け入れられた答えとしてマークします。アップルのサンプルプログラム「iAdSuite」をダウンロードして、同じ条件で同じエラーが発生していることが判明しました。ありがとう –