Подтвердить что ты не робот

Admob bannerView Request Error: нет рекламы для показа

У меня возникла проблема с одним из моих объявлений для игры с ios

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

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

AdView didFailToReceiveAdWithError ---------------------------: Ошибка домена = com.google.ads Код = 1 "Ошибка запроса: нет объявления показывать." UserInfo = {NSLocalizedDescription = Ошибка запроса: нет объявления для показа., NSLocalizedFailureReason = Ошибка запроса: нет объявления для показа.}

На моем 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;
    }
 }
4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

AdMob Legacy Publisher ID не показывает рекламу

Ответ 4

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

Ответ 5

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

Ответ 6

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

  • изменение идентификатора баннера в id.
  • запустите приложение.
  • изменение идентификатора обратно на производственный идентификатор.

Ответ 7

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

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

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

Ответ 8

Одной из возможных причин является ошибка ограничения.

Вы должны гарантировать, что ограничение bannerView для других представлений верно

Ответ 9

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

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

Самый простой способ загрузки тестовых объявлений - использовать наш выделенный идентификатор тестового рекламного блока для баннеров iOS: ca-app-pub-3940256099942544/2934735716

Ответ 10

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

Платежи и платежи

Ответ 11

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

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

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

Ответ 12

Не забудьте сделать другую переменную GADBannerView. Используйте одну переменную в каждом контроллере, сделав ее глобальной и просто измените идентификатор устройства.

например, эта строка должна быть вне любого контроллера (глобальная)

var bannerView: GADBannerView!

затем используйте его везде, где хотите, и просто измените идентификатор соответственно

bannerView.adUnitID = "ca-app-exampleid-abcabc938-4e8"

Ответ 13

Я был использован для инициации баннера следующим образом:

adBannerView = GADBannerView()

и это работало.

Я не могу точно сказать, из какой версии библиотеки AdMob, но внезапно баннер больше не показывался.

Инициализация баннера с размером в качестве параметра, исправила проблему:

adBannerView = GADBannerView(adSize: kGADAdSizeBanner)

Ответ 14

Я решаю это, добавив request.testDevice = @[@"xxxxxxxxxxxx"] перед запросом загрузки (я получаю этот совет и проверяю номер устройства с консоли)

Ответ 15

У меня была такая же проблема при тестировании примера приложения на моем телефоне. Я исправил следующие шаги:

Сбросить Идентификатор рекламы на iPhone 6, Перейти к:

Настройки → Конфиденциальность → Реклама → Сбросить идентификатор объявления

Ответ 16

После создания adUnitID подождите 1-2 часа, а затем попробуйте.

Потому что у меня была та же проблема, и она решается через 1-2 часа.

Наслаждайтесь кодированием :)

Ответ 17

В настройках устройства iOS: "Настройки"> "Конфиденциальность"> "Реклама": включите, а затем отключите "Ограничить отслеживание рекламы" ("Сброс идентификатора рекламы" не всегда помогает. Сначала попробуйте "Сбросить идентификатор объявления") и прокомментируйте, если это действие не помогает тебе). Но! Это поможет получить рекламу только на вашем устройстве и не решит проблему, связанную с низким уровнем соответствия вашего объявления.