我找到了相关主题AdMob Ios Error: Failed to receive ad with error: Request Error: No ad to show但这并不能解决我的问题。
我正在尝试使用来自谷歌代码的最新示例项目创建插页式广告:https://google-mobile-dev.googlecode.com/files/InterstitialExample_iOS_3.0.zip .
我已将 kSampleAdUnitID
更改为我的广告 ID。
昨天,当我点击 Load Interstitial
时,我收到了Request Error: No ad to show
。我必须点击 4-5 次才能让它工作。
今天,我使用相同的代码,未更改,但无论我点击Load Interstitial
多少次,我都会收到上述错误。
这里有什么帮助吗?
最佳答案
我的实现如下 - 我希望它有所帮助:
@interface ViewController () <GADInterstitialDelegate>
@property (strong, nonatomic) GADInterstitial *interstitial;
@end
@implementation ViewController
#define MY_INTERSTITIAL_UNIT_ID @"...."
- (void)preLoadInterstitial {
//Call this method as soon as you can - loadRequest will run in the background and your interstitial will be ready when you need to show it
GADRequest *request = [GADRequest request];
self.interstitial = [[GADInterstitial alloc] init];
self.interstitial.delegate = self;
self.interstitial.adUnitID = MY_INTERSTITIAL_UNIT_ID;
[self.interstitial loadRequest:request];
}
- (void)interstitialDidDismissScreen:(GADInterstitial *)ad
{
//An interstitial object can only be used once - so it's useful to automatically load a new one when the current one is dismissed
[self preLoadInterstitial];
}
- (void)interstitial:(GADInterstitial *)ad didFailToReceiveAdWithError:(GADRequestError *)error
{
//If an error occurs and the interstitial is not received you might want to retry automatically after a certain interval
[NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(preLoadInterstitial) userInfo:nil repeats:NO];
}
- (void) showInterstitial
{
//Call this method when you want to show the interstitial - the method should double check that the interstitial has not been used before trying to present it
if (!self.interstitial.hasBeenUsed) [self.interstitial presentFromRootViewController:self];
}
@end
关于ios - 谷歌admob ios : Request Error: No ad to show,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21108617/