Admob Mediation サービスを使用してテスト アプリケーションをセットアップしました。エラーが発生し、バナー ビューを非表示にした場合にメソッドによって処理されると、おそらくこの「非表示ステータス」が原因で、それ以上の広告リクエストが発生しないという問題があります。
私ができることは、エラーメソッド内で一定時間スリープしてから再度リクエストすることですが、これは最良の方法ではありません...これにより、スリープ中に一部のプロセスと潜在的に他のユーザー入力がロックされると思いますか? アプリには広告しか含まれていないためテストできないため、これについてはわかりません.
これが私の方法です...
- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error;
{
NSLog(@"Failed to receive ad with error: %@", [error localizedFailureReason]);
bannerView_.hidden = YES;
sleep(59);
[bannerView_ loadRequest:[self createRequest]];
}
- (void)adViewDidReceiveAd:(GADBannerView *)view;
{
NSLog(@"Ad Received");
bannerView_.hidden = NO;
}
1.広告が返されない場合はビューを非表示にしますが、広告が受信されるとリクエストが続行され、広告ビューが再び表示されるようにします。2. エラー メソッドでループを使用して、成功するまで要求を再処理し、他のものをロックしません。
違いがある場合は、現時点ではシミュレーターでのみテストされています。