webentwicklung-frage-antwort-db.com.de

Admob bannerView Request Error: Keine Anzeige zum Anzeigen

Ich habe dieses Problem in einer meiner Anzeigen für ein iOS-Spiel

Hier ist mein Code, die seltsame Sache ist, dass, wenn ich das Gerät in die request.testDevices-Liste hinzufüge, das Demo-Banner angezeigt wird. Wenn ich von testDevices entferne, wird kein richtiges Banner angezeigt. Es zeigt ein echtes Banner, also glaube ich, dass es etwas mit meinem Admob-Account gibt. Hat jemand jemals so etwas?

Dieser Fehler schlägt immer mit diesem Fehler fehl:

AdView didFailToReceiveAdWithError ---------------------------: Fehler Domain = com.google.ads Code = 1 "Anforderungsfehler: Keine Anzeige. " UserInfo = {NSLocalizedDescription = Anforderungsfehler: Keine Anzeige., NSLocalizedFailureReason = Anforderungsfehler: Keine Anzeige.}

Auf meiner 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... */

}

auf meinem 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;
    }
 }
20
Gil Beyruth

Ich hatte gerade diesen Fehler heute, das Problem für mich war einfach, weil die adUnitID grundsätzlich noch neu ist. Ich musste nach dem Erstellen der adUnitID mehr als 2 Stunden warten, damit die Anzeigen geschaltet werden konnten.

Wenn Sie diesen Fehler haben und einige Ihrer adUnitIDs Anzeigen schalten und andere nicht. Sie haben höchstwahrscheinlich das gleiche Problem und Sie können das Problem nur durch Warten beheben.

14
Ibrahim

Der Ad Server gibt diese Nachricht hauptsächlich zurück, weil für Ihre Anzeigenblock-ID keine Anzeigen vorhanden sind. Prüfen Sie, ob Ihre Anzeigenblock-ID richtig ist oder nicht. Die gleiche Fehlermeldung wird angezeigt, wenn die Breite/Höhe Ihres Banners 0 ist. Stellen Sie sicher, dass Ihre AdUnitID perfekt ist Oder Überprüfen Sie die folgenden Links. Dies kann Ihnen helfen https://groups.google .com/forum/#! topic/google-admob-ads-sdk/ioXU2nX9W28

AdMob Die ältere Publisher-ID zeigt keine Anzeigen an .

11
Sangram S.

Ich hatte gerade ein neues Konto erstellt und dieses Problem gesehen. Bei der Überprüfung meines Kontos wurde oben auf der Admob-Seite eine Meldung angezeigt: "Ihre Anzeigenblöcke zeigen keine Anzeigen an, da Sie noch keine Zahlungsinformationen für Ihr Konto angegeben haben." Klicken Sie auf die Schaltfläche Fix, füllen Sie das Formular aus und die Anzeigen werden innerhalb weniger Stunden angezeigt

8
Tony

Diesen Fehler habe ich auch getroffen. Sowohl meine Banner- als auch Interstitial-Anzeigen sind mit diesem Fehler fehlgeschlagen. Ich habe festgestellt, dass es mein Fehler ist, UserAgent global zu ändern. Nachdem ich UserAgent in den Standard geändert habe, funktioniert es gut.

4
monkjj

Für mich ist dies der Grund, warum dies gezeigt wurde, weil auf meinem AdMob-Konto keine Zahlungsmethoden eingerichtet wurden. 

Nachdem ich dies eingerichtet habe, ist der Fehler verschwunden und die Anzeigen werden sofort geschaltet.

Hoffe das hilft jemandem!

2
Dejan Atanasov

Das hat mein Problem gelöst

  1. banner-ID in Beispiel-ID ändern. 
  2. führen Sie dann die App aus. 
  3. iD wieder in Produktions-ID ändern.
2
Husam

Ein möglicher Grund ist ein Constraint Bug.

sie sollten sicherstellen, dass Ihre bannerView-Einschränkung für andere Ansichten ist Recht

2
yuanjilee

Stellen Sie sicher, dass Sie die Testanzeigen-IDs in einer Debug-Sitzung verwenden.

https://developers.google.com/admob/ios/banner?hl=de

Die einfachste Möglichkeit, Testanzeigen zu laden, ist die Verwendung unserer speziellen Testanzeigen-ID für iOS-Banner: ca-app-pub-3940256099942544/2934735716

1
Ric Santos

Ich löse dies durch Hinzufügen von request.testDevice = @[@"xxxxxxxxxxxx"] vor der Ladeanforderung.

0
Randall Wang

Beim Testen der Beispielanwendung auf meinem Telefon hatte ich dasselbe Problem. Ich habe mit den folgenden Schritten behoben: 

Werbe-ID auf dem iPhone 6 zurücksetzen, Gehe zu: 

Einstellungen -> Datenschutz -> Werbung -> Anzeigenbezeichner zurücksetzen

0
Rawand Saeed

Ich wurde verwendet, um das Banner wie folgt zu starten:

adBannerView = GADBannerView()

und es hat funktioniert.

Ich kann nicht genau sagen, aus welcher AdMob-Bibliotheksversion, aber plötzlich wurde das Banner nicht mehr angezeigt.

Initialisiere das Banner mit der Größe als Parameter und behebe das Problem:

adBannerView = GADBannerView(adSize: kGADAdSizeBanner)

0
Lubbo

Dieser Fehler kann auftreten, wenn Sie in Ihrem AdMob-Konto noch keine Zahlungs- und Rechnungsinformationen eingerichtet haben ..__ Nach der Festlegung der Zahlungsdetails kann es bis zu zwei Stunden dauern, bis Admob alle Angaben gemacht hat

Abrechnung und Zahlungen

0
Muhammad Nayab

Nachdem Sie adUnitID erstellt haben, warten Sie 1-2 Stunden und probieren Sie es dann aus.

Weil ich das gleiche Problem hatte und es gleich nach 1-2 Stunden behoben ist.

Viel Spaß beim Programmieren :)

0
Sunil Targe

Wenn Sie Ihre App im Debug- oder Testmodus verwenden, stellen Sie sicher, dass Sie Test-AppID und BannerID verwenden, die von Google Admob zur Verfügung gestellt werden.

Google Test AdMobID: Ca-app-pub-3940256099942544 ~ 1458002511

Google Test BannerID Ca-app-pub-3940256099942544/2934735716

0
Tejinder

Stellen Sie sicher, dass Sie keine andere Variable von GADBannerView erstellen. Verwenden Sie eine Variable in jedem Controller, indem Sie sie global machen und einfach die Geräte-ID ändern. 

diese Zeile sollte sich z. B. außerhalb eines Controllers befinden (global).

var bannerView: GADBannerView!

verwenden Sie es dann, wo Sie möchten, und ändern Sie die ID einfach entsprechend

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