2016-08-23 2 views
7

У меня этот вопрос на одном из моих объявлений для ИОС игрыAdmob bannerView Запрос об ошибке: Нет объявлений для отображения

Вот мой код, странное дело в том, что если добавить устройство на запрос. testDevices показывает, что он отображает демонстрационный баннер, если я удаляю из testDevices, он не показывает настоящий баннер, но если я изменю свой идентификатор пакета на XCODE, он покажет настоящий баннер, поэтому я верю его чему-то с моей учетной записью admob, кто-нибудь когда-либо что-то вроде этого?

Его всегда неудачу с этой ошибкой:

AdView didFailToReceiveAdWithError --------------------------- Ошибка Domain = ком. google.ads Code = 1 «Ошибка запроса: нет объявления для показа». UserInfo = {NSLocalizedDescription = Request Error: Нет объявлений показать, NSLocalizedFailureReason = Request Error:.. Нет объявлений показать}

На мой AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    // Use Firebase library to configure APIs 
    [FIRApp configure]; 
    [[FIRAnalyticsConfiguration sharedInstance] setAnalyticsCollectionEnabled:YES]; 
    // Initialize Google Mobile Ads SDK 
    [GADMobileAds configureWithApplicationID:@"ca-app-pub-xx~xx"]; 
    /* other stuff here... */ 

} 

на моем rootViewController.m

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    bannerViewAdded = NO; 
    interstitialViewAdded = NO; 

    [self addBanner]; 
    // ..... more stuff here; 
} 

- (void)addBanner{ 

    NSLog(@"CALL ADD BANNER ROOTVIEWCONTROLLER"); 

    if(!bannerViewAdded && ![MKStoreManager isFeaturePurchased:kFeatureAId]){ 

    NSLog(@"ADD BANNER ROOTVIEWCONTROLLER"); 
    CGSize size = [[CCDirector sharedDirector] winSize]; 


    // Create adMob ad View (note the use of various macros to detect device) 
    if (IS_IPAD || IS_IPADHD) { 
     bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeLeaderboard]; 
     bannerView.center = CGPointMake(size.width/2, (size.height-CGRectGetHeight(bannerView.frame)/2)-2); 
    } 
    else if (IS_IPHONE6) { 
     bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner]; 
     bannerView.center = CGPointMake(size.width/2, (size.height-CGRectGetHeight(bannerView.frame)/2)-2); 
    } 
    else if (IS_IPHONE6P) { 
     bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner]; 
     bannerView.center = CGPointMake(size.width/2, (size.height-CGRectGetHeight(bannerView.frame)/2)-2); 
    } 
    else { 
     // boring old iPhones and iPod touches 
     bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner]; 
     bannerView.center = CGPointMake(size.width/2, (size.height-CGRectGetHeight(bannerView.frame)/2)-2); 
    } 

    //[bannerView setBackgroundColor:[UIColor blueColor]]; 

    // Need to set this to no since we're creating this custom view. 
    //bannerView.translatesAutoresizingMaskIntoConstraints = NO; 

    // Note: Edit SampleConstants.h to provide a definition for kSampleAdUnitID 
    // before compiling. 

    // Replace this ad unit ID with your own ad unit ID. 
    bannerView.adUnitID = @"ca-app-pub-xx/xx"; 
    bannerView.rootViewController = self; 
    bannerView.delegate = self; 
    [self.view addSubview:bannerView]; 


    GADRequest *request = [GADRequest request]; 
    //request.testDevices = @[ kGADSimulatorID ]; 
    //request.testDevices = @[ @"xx", @"xx" , kGADSimulatorID ]; 

    [bannerView loadRequest:request]; 
    bannerViewAdded = YES; 
    } 

} 

- (void)removeBanner { 
    //admob 
    if(bannerViewAdded){ 
     bannerViewAdded = NO; 
     [bannerView removeFromSuperview]; 
     [bannerView release]; 
     bannerView = nil; 
    } 
    //No AdMOB 
    if(localBannerAdded){ 
     localBannerAdded = NO; 
     [localBannerButton removeFromSuperview]; 
     [localBannerButton release]; 
     localBannerButton = nil; 
    } 
} 


- (void)addInterstitial{ 

    if(!interstitialViewAdded && ![MKStoreManager isFeaturePurchased:kFeatureAId]){ 
     NSLog(@"INIT INTERSTITIAL ROOTVIEWCONTROLLER"); 
     interstitialView = [[GADInterstitial alloc] initWithAdUnitID:@"ca-app-pub-xx/xx"]; 

     GADRequest *request = [GADRequest request]; 
     // Requests test ads on devices you specify. Your test device ID is printed to the console when 
     // an ad request is made. GADBannerView automatically returns test ads when running on a 
     // simulator. 
     //request.testDevices = @[ kGADSimulatorID, @"xxx", @"xxx" ]; 
     [interstitialView loadRequest:request]; 
     [interstitialView setDelegate:self]; 

    } 

} 

- (void)adView:(GADBannerView *)gadBannerView didFailToReceiveAdWithError:(GADRequestError *)error{ 
    NSLog(@"AdView didFailToReceiveAdWithError --------------------------- : %@", error); 
    [self removeBanner]; 
    if(!localBannerAdded){ 
     CGSize size = [[CCDirector sharedDirector] winSize]; 
     localBannerButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; 
     localBannerButton.frame = CGRectMake(0.0, 0.0, 320.0, 50.0); 
     [localBannerButton setTitle:@"DOWNLOAD MORE FREE GAMES" forState:UIControlStateNormal]; 
     localBannerButton.backgroundColor = [UIColor whiteColor];//[UIColor clearColor]; 
     [localBannerButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal ]; 
     [self.view addSubview:localBannerButton]; 

     [localBannerButton setCenter:CGPointMake(self.view.center.x,(size.height-CGRectGetHeight(localBannerButton.frame)/2)-2)]; 

     // Add Target-Action Pair 
     [localBannerButton addTarget:self action:@selector(openAppStore:) forControlEvents:UIControlEventTouchUpInside]; 
     localBannerAdded = YES; 
    } 
} 
+0

Мой баннер был на 1 пиксель расстояние от игровой игровой зоны, поэтому удаление баннера от экран игрового экрана и просьба о новой оценке, исправленной для меня. Печально, что для ответа на вопрос от Admob потребовалось почти 3 месяца, я никогда не получал сообщение об этом по электронной почте или любые другие контакты от admob. Фиксация была быстрой, после того, как Apple одобрила новую версию моей игры, через 12 часов мой баннер вернулся. –

ответ

9

Сервер объявлений вернет это сообщение главным образом из-за отсутствия объявлений для вашего идентификатора рекламного блока. Проверьте, является ли ваш идентификатор рекламного блока правильным или нет. Вы получите ту же ошибку, если ваша ширина/высота баннера равна 0. Убедитесь, что ваш adUnitID прекрасен. или проверить следующие ссылки его может помочь вам https://groups.google.com/forum/#!topic/google-admob-ads-sdk/ioXU2nX9W28

AdMob Legacy Publisher ID not showing ads

+0

Я не верю, что был включен в черный список, я просмотрел свою учетную запись AdSense, и я ничего не вижу в статусе. Я отправил сообщение, чтобы проверить, есть ли его черный список, пока нет ответа. Я пробовал обоим, не повезло, я думаю, мне придется ждать, чтобы кто-то из admob посмотрел на мою учетную запись, также я уверен, что это не размер, поскольку он работает, если я изменяю идентификатор пакета, и уверен, что это не adUnitID как это видно и с другим пучком. –

+3

Установка ширины/высоты баннера для меня. Очень полезно! – mrgrieves

+0

Мой баннер имел 1 пиксель от игровой площадки, поэтому удалял баннер с экрана игры и просил новую оценку, исправленную для меня. Печально, что для ответа на вопрос от Admob потребовалось почти 3 месяца, я никогда не получал сообщение об этом по электронной почте или любые другие контакты от admob. Фиксация была быстрой, после того, как Apple одобрила новую версию моей игры, через 12 часов мой баннер вернулся. –

2

я тоже встретил эту ошибку. С этой ошибкой завершились как мои баннеры, так и межстраничные объявления. Я обнаружил, что моя ошибка заключается в том, чтобы изменить UserAgent глобально, после того как я изменил UserAgent по умолчанию, он работает хорошо.

+0

Как изменить UserAgent? – amar

17

Испытывать это на iOS 10, когда включено ограничение на отслеживание объявлений (в настройках/Конфиденциальность/Реклама).

+2

Этот пост требует внимания. У меня был один iphone с включенным. У нас были проблемы с получением каких-либо баннеров. – Makalele

+0

Это сводило меня с ума, почему он работает в симуляторе, а не на моем устройстве, я даже не знал, что я случайно включил его !!! –

+1

Сброс «Идентификатор рекламы» в разделе «Настройки/Конфиденциальность/Реклама» работал для меня на «iPhone 7+ iOS 11.2» и теперь показывает Баннерные объявления снова после показа тестовых объявлений на симуляторе, но не реальных устройств. – Reanimation

11

У меня была эта ошибка сегодня, проблема для меня была простой, это было потому, что adUnitID в основном все еще новенький. Мне пришлось ждать более двух часов после создания adUnitID, чтобы реклама показывалась.

Если у вас есть эта ошибка, и некоторые из ваших adUnitIDs служат для рекламы, а некоторые нет. Вы, вероятно, имеете ту же проблему, и единственный способ ее исправить - это подождать.

4

Я только что создал новую учетную запись и увидел эту проблему. При проверке моей учетной записи в верхней части страницы admob было показано сообщение: «В рекламных блоках не отображаются объявления, потому что вы еще не указали свою учетную информацию.». Нажмите на кнопку Исправить это, заполнить форму и объявления будут показываться в течение нескольких часов

2

Это решило мою проблему

  1. изменения баннера идентификатор к примеру идентификатор.
  2. затем запустите приложение.
  3. изменить идентификатор вернуться к описанию продукции.
0

Для меня причина, по которой она начала показывать это, заключается в том, что у меня не было никаких способов оплаты, установленных в моей учетной записи AdMob.

Как только я это установил, ошибка исчезла, и объявления начали показывать мгновенно.

Надеюсь, это поможет кому-то!

0

Если вы используете приложение в тестовом режиме отладки или убедитесь, что вы используете тест AppID и BannerID предоставленный Google AdMob, который был бы как: -

Google Test AdMobID: ча-приложение-паб-3940256099942544 ~ 1458002511

Google Test BannerID ча-приложение-паб-3940256099942544/2934735716

0

Убедитесь, что вы используете идентификаторы объявлений испытаний, когда в сеансе отладки.

https://developers.google.com/admob/ios/banner?hl=en-US

The easiest way to load test ads is to use our dedicated test ad unit ID for iOS banners: ca-app-pub-3940256099942544/2934735716

0

Эта ошибка может произойти, если вы не имеете установки оплаты и платежную информацию в своем аккаунте AdMob. Согласно Admob после вас установки детали оплаты, это может занять до 2-х часов, прежде чем он будет полностью функциональным

Billing and Payments

Смежные вопросы