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;
}
}
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.
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
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
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.
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!
Das hat mein Problem gelöst
Ein möglicher Grund ist ein Constraint Bug.
sie sollten sicherstellen, dass Ihre bannerView-Einschränkung für andere Ansichten ist Recht
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
Ich löse dies durch Hinzufügen von request.testDevice = @[@"xxxxxxxxxxxx"]
vor der Ladeanforderung.
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
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)
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
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 :)
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
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"