googleads / googleads-mobile-flutter

A Flutter plugin for the Google Mobile Ads SDK
Apache License 2.0
343 stars 285 forks source link

[IOS] LoadAdError code: 1, domain: com.google.admob, message: Request Error: No ad to show. #458

Closed davideroffo closed 1 year ago

davideroffo commented 2 years ago

Hi, I have implemented the Flutter google_mobile_ads: ^1.0.0 . The test Ad Units are showing fine in the App (debug mode), but the real Ad Units, once the App has been built and deployed in Test Flight (iOS) are not showing at all. In the console I get this error:

flutter: Ad failed to load: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: null, mediationAdapterClassName: null, adapterResponses: []))

What I checked:

What should I do?

Plugin Version

google_mobile_ads: ^1.0.0

Steps to Reproduce

  1. Create a banner Ad Unit (more than 24 hours ago)
  2. Add it in a flutter widget (main screen)
  3. Make sure you have updated the Info.plist file with the pub id (related to your admob account)

Expected results: AdMob banner is working and rendering

Actual results: AdMob banner is not working and is not rendering

flutter: Ad failed to load: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: null, mediationAdapterClassName: null, adapterResponses: []))

maheshj01 commented 2 years ago

Hi @davideroffo, Thanks for filing the issue.

LoadAdError(code: 1

Generally indicates an invalid request as per the documentation,

How long has it been since the ad unitId was created?

Leaving this issue open for further investigation as I won't be able to reproduce production bugs.

cc: @jjliu15

davideroffo commented 2 years ago

Hi @maheshmnj , thanks for the reply. With iOS I get this error code number 1, but if I start the application on an Android device (with the proper banner ad unit for android) I get error code number 3: No ad config. It's really strange, because test ads are working properly and everything is set up correctly, just as the documentation explains (google mobile sdk for flutter). The Ad Units have been created more than 5 days ago and the app-ads.txt has been scanned properly 3 days ago.

maheshj01 commented 2 years ago

Thanks for the info.

if I start the application on an Android device (with the proper banner ad unit for android) I get error code number 3: No ad config.

For the Android-specific bug you may follow up on this issue https://github.com/googleads/googleads-mobile-flutter/issues/59

maheshj01 commented 2 years ago

@davideroffo I was able to reproduce this with test ads, the ads were working fine and when showing rewarded ads after a hot restart the issue was reproduced using google_mobile_ads: ^1.0.1

logs ``` Restarted application in 349ms. flutter: Instance of 'InterstitialAd' loaded flutter: AdManagerBannerAd loaded. flutter: BannerAd loaded. flutter: Ad impression. flutter: RewardedAd failed to load: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: iI-wYZbXAuyh3LUP9NeoqA0, mediationAdapterClassName: null, adapterResponses: [AdapterResponseInfo(adapterClassName: GADMAdapterGoogleAdMobAds, latencyMillis: 2665), description: { Credentials = { "campaign_id" = 1057492276; pubid = "ca-app-pub-3940256099942544/1712485313/cak=no_cache&cadc=b6&caqid=iI-wYdOVApGrz7sPmNOBiAI"; }; Error = "Error Domain=com.google.admob Code=5 \"Request Error: The Google ad request was unable to be fulfilled before a timeout occurred.\" UserInfo={NSLocalizedDescription=Request Error: The Google ad request was unable to be fulfilled before a timeout occurred.}"; Latency = "2.665"; Network = GADMAdapterGoogleAdMobAds; }, credentials: { "campaign_id" = 1057492276; pubid = "ca-app-pub-3940256099942544/1712485313/cak=no_cache&cadc=b6&caqid=iI-wYdOVApGrz7sPmNOBiAI"; }<…> flutter: RewardedAd failed to load: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: i4-wYYzhD_bRz7sPpve4mAI, mediationAdapterClassName: null, adapterResponses: [AdapterResponseInfo(adapterClassName: GADMAdapterGoogleAdMobAds, latencyMillis: 2633), description: { Credentials = { "campaign_id" = 1057492276; pubid = "ca-app-pub-3940256099942544/1712485313/cak=no_cache&cadc=b6&caqid=i4-wYcOdD8ah4t4Pw-qjwA8"; }; Error = "Error Domain=com.google.admob Code=5 \"Request Error: The Google ad request was unable to be fulfilled before a timeout occurred.\" UserInfo={NSLocalizedDescription=Request Error: The Google ad request was unable to be fulfilled before a timeout occurred.}"; Latency = "2.633"; Network = GADMAdapterGoogleAdMobAds; }, credentials: { "campaign_id" = 1057492276; pubid = "ca-app-pub-3940256099942544/1712485313/cak=no_cache&cadc=b6&caqid=i4-wYcOdD8ah4t4Pw-qjwA8"; }<…> flutter: RewardedAd failed to load: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: jo-wYffdF4OR3LUP-6OmmAU, mediationAdapterClassName: null, adapterResponses: [AdapterResponseInfo(adapterClassName: GADMAdapterGoogleAdMobAds, latencyMillis: 147), description: { Credentials = { pubid = "ca-app-pub-3940256099942544/1712485313/cak=no_cache&cadc=b6&caqid=jo-wYdOXF6vb3LUPuLSmgAo"; }; Error = "Error Domain=com.google.admob Code=5 \"Request Error: The Google ad request was unable to be fulfilled before a timeout occurred.\" UserInfo={NSLocalizedDescription=Request Error: The Google ad request was unable to be fulfilled before a timeout occurred.}"; Latency = "0.147"; Network = GADMAdapterGoogleAdMobAds; }, credentials: { pubid = "ca-app-pub-3940256099942544/1712485313/cak=no_cache&cadc=b6&caqid=jo-wYdOXF6vb3LUPuLSmgAo"; }, adError: AdError(code: 5, domain: com.google.admob, message: Reques<…> flutter: RewardedAd failed to load: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: j4-wYYgcscrPuw_N0bW4DQ, mediationAdapterClassName: null, adapterResponses: [AdapterResponseInfo(adapterClassName: GADMAdapterGoogleAdMobAds, latencyMillis: 2652), description: { Credentials = { "campaign_id" = 1057492276; pubid = "ca-app-pub-3940256099942544/1712485313/cak=no_cache&cadc=b6&caqid=jo-wYdLKPNS-3LUPxPOhSA"; }; Error = "Error Domain=com.google.admob Code=5 \"Request Error: The Google ad request was unable to be fulfilled before a timeout occurred.\" UserInfo={NSLocalizedDescription=Request Error: The Google ad request was unable to be fulfilled before a timeout occurred.}"; Latency = "2.652"; Network = GADMAdapterGoogleAdMobAds; }, credentials: { "campaign_id" = 1057492276; pubid = "ca-app-pub-3940256099942544/1712485313/cak=no_cache&cadc=b6&caqid=jo-wYdLKPNS-3LUPxPOhSA"; }, a<…> ```
davideroffo commented 2 years ago

Is needed a fix to the library? Or is it Admob side?

maheshj01 commented 2 years ago

Looks like it's from AdMob but I am not really sure, someone from the team will investigate this further.

davideroffo commented 2 years ago

Thank you, just a side note, I'm getting these errors on:

Luciano-Magnus commented 2 years ago

Any news about this? I have the same problem

yoloxo commented 2 years ago

Any updates? Got same issue here

nelsonspbr commented 2 years ago

Same here, it has been like this for over a month now.

Luciano-Magnus commented 2 years ago

Hello, I just came to inform you that my ads appeared again yesterday, I tested today and for now it is still ok, I did some steps that I was instructed to follow by the Admob community, this LINK may help you to solve your problem. IMPORTANT: I ​​DON'T KNOW IF THIS SOLVE MY PROBLEM. I simply followed the steps and a few days later it started working again, maybe it was some correction made by their team. I really do not know.

nelsonspbr commented 2 years ago

Unfortunately no luck here. Everything looks good -- no policy center issues, app is approved (it was working before), connected to the store, ready, verified, ad unit works (well, used to work), app-ads.txt found and verified. It seems there is no actual support from AdMob -- meaning, someone from AdMob that we can contact to get help. If there is a way to contact their team, please let me know.

yoloxo commented 2 years ago

This was my solution https://stackoverflow.com/a/70795526/16666091

Luciano-Magnus commented 2 years ago

Hi @nelsonspbr , unfortunately I don't know how to contact the admob team, just the community, but try there, you might be lucky.

31Carlton7 commented 2 years ago

Any proper fix for this? Nothing is working for me

azazadev commented 2 years ago

any update ?

alinsary37 commented 2 years ago

Hi @maheshmnj , thanks for the reply. With iOS I get this error code number 1, but if I start the application on an Android device (with the proper banner ad unit for android) I get error code number 3: No ad config. It's really strange, because test ads are working properly and everything is set up correctly, just as the documentation explains (google mobile sdk for flutter). The Ad Units have been created more than 5 days ago and the app-ads.txt has been scanned properly 3 days ago.

solve it ?

mraaz97 commented 2 years ago

The issue still exists...

maheshj01 commented 2 years ago

please see if this comment helps resolve the issue https://github.com/googleads/googleads-mobile-flutter/issues/59#issuecomment-912724307

keybow007 commented 2 years ago

please see if this comment helps resolve the issue #59 (comment)

Unfortunately, it was not helpful. With the test ID, the ad is displayed correctly, but with the production ad ID, I get "LoadAdError code: 1".

・The app-ads.txt file is set up correctly (account approved in the Admob console). ・Ads are displayed correctly in the Android app. ・No mistakes in pasting Admob ad IDs into Android Studio project.

large commented 2 years ago

I have checked with Ads SDK team and they confirm the same error:

Hi Large,

Thank you for providing the requested information.

I've checked your Ad Unit against our iOS sample app, and getting the same no fill error on my end.
Also, I've checked your account and can confirm that it is fully setup (Billing and PIN verification) and there's no policy violation under your account.
This could be an ad serving issue.
However, since you're using flutter app, they we would suggest to reach out to our AdMob team who specifically handles our flutter app via this link and have them check this.

Regards,
Google Logo 
Teejay Wennie
Mobile Ads SDK Team

My iOS have "Ad exposure / session" around 73-79% and Android (with same code) is 93-98% in production code / official app. These numbers was quite equal before I upgraded my app. I saw an decrease in income after my latest update too. Even got a thank you note from one user for removing the ads 🤔

This issue has to be addressed asap, people are probably loosing money here...

Some stats regarding iOS, admob app: Screenshot_20221005-081531.png

Even Google states that this is belove average: Screenshot_20221005-081345.png

Android stats for the same app / same code: Screenshot_20221005-082906.png

Screenshot_20221005-082953.png

large commented 2 years ago

@maheshmnj are there any progress regarding this issue?

maheshj01 commented 2 years ago

Unfortunately no updates so far.

yasin1376 commented 1 year ago

any update on this error?

wz003 commented 1 year ago

Still same issue, I use flutter and integrate admob with google_mobile_ads: ^2.3.0, ads were able to show with formal ad unit id after I link admob application to app store/play store.

Few days later, both banner and interstitial ads always fail to load due to same error In IOS it's "code = 1, Msg = Request Error: No ad to show." In Android it's "code = 3, Msg = No fill."

Where as ads are still able to loaded if I change my own ad unit ID to test ad unit ID

I've followed instruction in here, include

  1. add app-ads.txt and it shows verified success in admob website.
  2. Create and link accounts of google adsense and google ads to admob. (I cannot verify my payment in admob website, it might caused by balance of admob too low in my account (< 2 USD))

but nothing changes at this moment,

any help would be appreciated,

kimalphaville commented 1 year ago

Getting the same issue

ZhongTaoTian commented 1 year ago

It's good before March.No modifications made. Now: In IOS it's "code = 1, Msg = Request Error: No ad to show." In Android it's "code = 3, Msg = No fill."

ZhongTaoTian commented 1 year ago

If the device is added to the testing machine and then didFailToReceiveAdWithError Recursive execution bannerView?.load(GADRequest()) , Occasionally successful...

arash01 commented 1 year ago

Any updates on this? It's still happening. It was all good for couple of weeks but all of the sudden stopped working with no code changes. LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: #######, mediationAdapterClassName: null, adapterResponses: [], loadedAdapterResponseInfo: AdapterResponseInfo(adapterClassName: , latencyMillis: 0, description: , adUnitMapping: {}, adError: null, adSourceName: , adSourceId: , adSourceInstanceName: , adSourceInstanceId: )), responseExtras: {mediation_group_name: Campaign})

Alex-web0 commented 1 year ago

Any help? still no ads showing with err code 1

brijeshNimavat11 commented 1 year ago

For me below iOS 16 is getting same issue, Any Update?

malandr2 commented 1 year ago

Hi all,

If you are running into this error please reach out to our support team on the Developer Forum for assistance.

A LoadAdError code: 1 or error 3: No ad config is typically not a plugin issue. The reason you are receiving that error may vary case by case. This is something our support team can help with. Please rout your concerns there. Thanks.

Closing this out. Any follow ups should be directed to the Developer Forum.

Abdulah-butt commented 1 year ago

GETTING SAME ISSUE

flutter: BannerAd failed to load: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: null, mediationAdapterClassName: null, adapterResponses: [], loadedAdapterResponseInfo: AdapterResponseInfo(adapterClassName: , latencyMillis: 0, description: , adUnitMapping: {}, adError: null, adSourceName: , adSourceId: , adSourceInstanceName: , adSourceInstanceId: )), responseExtras: {})

imajercsik commented 12 months ago

Same issue here with rewarded ads:

RewardedAd failed to load: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: null, mediationAdapterClassName: null, adapterResponses: [], loadedAdapterResponseInfo: AdapterResponseInfo(adapterClassName: , latencyMillis: 0, description: , adUnitMapping: {}, adError: null, adSourceName: , adSourceId: , adSourceInstanceName: , adSourceInstanceId: )), responseExtras: {})

Any solution?

AxiatCode commented 10 months ago

Still getting the same issue for iOS only:

flutter: Anchored adaptive banner failedToLoad: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: null, mediationAdapterClassName: null, adapterResponses: [], loadedAdapterResponseInfo: AdapterResponseInfo(adapterClassName: , latencyMillis: 0, description: , adUnitMapping: {}, adError: null, adSourceName: , adSourceId: , adSourceInstanceName: , adSourceInstanceId: )), responseExtras: {})

Wondering for almost more than 2 years and the issue persists, even with the latest version of both google ads.

Any chance for a hotfix??

Thanks.

shreyash-sharechat commented 10 months ago

I can confirm issue is still there in 2024 (iOS).

Hi all,

If you are running into this error please reach out to our support team on the Developer Forum for assistance.

A LoadAdError code: 1 or error 3: No ad config is typically not a plugin issue. The reason you are receiving that error may vary case by case. This is something our support team can help with. Please rout your concerns there. Thanks.

Closing this out. Any follow ups should be directed to the Developer Forum.

There should better documented communication as to what are possible scenarios that could make this happen, so that we do inital diagnosis by ourselves and then reach out support if needed.

johnwiese-ms commented 7 months ago

Yup, seeing the same thing, though it is not every time so I can't track down what the circumstances are that cause the error.

LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: null, mediationAdapterClassName: null, adapterResponses: [], loadedAdapterResponseInfo: AdapterResponseInfo(adapterClassName: , latencyMillis: 0, description: , adUnitMapping: {}, adError: null, adSourceName: , adSourceId: , adSourceInstanceName: , adSourceInstanceId: )), responseExtras: {})

alionurozdemir commented 4 months ago

The error still persists. Did anyone solve it?

flutter: BannerAd failed to load: LoadAdError(code: 1, domain: com.google.admob, message: Request Error: No ad to show., responseInfo: ResponseInfo(responseId: null, mediationAdapterClassName: null, adapterResponses: [], loadedAdapterResponseInfo: AdapterResponseInfo(adapterClassName: , latencyMillis: 0, description: , adUnitMapping: {}, adError: null, adSourceName: , adSourceId: , adSourceInstanceName: , adSourceInstanceId: )), responseExtras: {}) Lost connection to device.