I have an app on playstore https://play.google.com/store/apps/details?id=com.advocosoftwares.colorbook. I have used startApp in first release version. Now for next version I am trying to add AdMob rewarded video ad in the same app. I am getting the issue while implementing it. I have followed the complete procedure from https://www.youtube.com/watch?v=_frcK8lYnX8 but onRewardedVideoAdFailedToLoad() method is called showing error code 3, I tried with both the sample id as well as created new Id for project but same error code as a result. I did the same procedure in other app where it works fine. Just having the issue in this app. Please help me out.
Error Code 3 means no fills from the mediated ad network.
Try again by enabling only test ads from startApp and see if that works.
You can also use this sample app to test you ad unit id.
I have implemented AdMob using SDKBox for the cocos2d-x android project as well as the iOS project the same implementation works fine for iOS but on android, it is throwing an error that No Fill from the server. Failed to load the ad.
Error code 3.
Any help is appreciated Thanks.
The error code say that the ad server cant supply an ad for your request Reference
Ad fill depends on several parameters, main ones are Geo location of the user, device model and app content rating...
From what country are you making the request? try to use a proxy and request an ad as a US user, admob supply close to 100% for US users
I am trying to load Admob Native ads. Previously (before app was updated) ads used to show but now they are not showing. I have posted the code, xml and the Logcat below.
Code
NativeExpressAdView adView = (NativeExpressAdView) myView.findViewById(R.id.adView);
AdRequest request = new AdRequest.Builder()
.addTestDevice("5BCFF0AAE83AF424648A954038C71DE6")
.addTestDevice("A5E3E2068BD88202CBC281AD76984BEE")//infocus
.build();
adView.loadAd(request);
XML
<com.google.android.gms.ads.NativeExpressAdView
android:id="#+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
ads:adSize="320x150"
ads:adUnitId="ca-app-pub-5059726881726792/6223900262"></com.google.android.gms.ads.NativeExpressAdView>
Logcat
07-14 20:39:57.349 11508-11508/? W/Ads: Failed to load ad: 0
07-14 20:40:07.373 11508-11663/? W/Ads: There was a problem getting an ad response. ErrorCode: 0
Fail to forward ad response.
android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:511)
at com.google.android.gms.ads.internal.request.ab.a(:com.google.android.gms:93)
at com.google.android.gms.ads.internal.request.service.i.run(:com.google.android.gms:638)
at com.google.android.gms.ads.internal.util.u.call(:com.google.android.gms:1055)
at com.google.android.gms.ads.internal.util.v.run(:com.google.android.gms:75)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
07-14 20:40:19.539 1975-4922/? W/Ads: Fail to forward ad response.
android.os.DeadObjectException
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:511)
at com.google.android.gms.ads.internal.request.ab.a(:com.google.android.gms:93)
at com.google.android.gms.ads.internal.request.service.i.run(:com.google.android.gms:638)
at com.google.android.gms.ads.internal.util.u.call(:com.google.android.gms:1055)
at com.google.android.gms.ads.internal.util.v.run(:com.google.android.gms:75)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
There is no fault in your code. It's all good. You just need to wait a little. Your ad id is newly created so it will take some time to fetch ads from google servers. You can verify this by adding banner/interstitial ad id you creating for earlier applications and you'll see that they work. So give it some time and it will work soon. At least for me, it happens all the time. Can't surely say for you but why not give it a try?
In my case missing payment information was an issue. When you login to Admob dashboard you will see notice over there which says ads won't work until we add payment details.
Constant Value: 0
This error generally occurs in newly created ads. So wait for few hours for the ads to be loaded.
So I had the same error, I have tried everything listed here first.
Waiting for google to send me an email saying AdMob is active. Done, it took about an hour, in fact, if you log in it will give you the status, then I waited for 48~ hours, and still the same issue
The payment setup was not an issue for me because I got paid from an associated AdSense account before.
Then I read all the possible common setup issues that other users here had. I mostly used the sample Admob App ID
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713"/>
And the Sample ad Unit Id given on the Admob getting started page, this way you eliminate issues with your account during development.
I Was fairly sure that I had the configuration correct, but to check I downloaded Google's ad samples from GitHub. This way you can check working code, and pop your Admob App ID in and see if the account is set up correctly
I started playing with the build.gradle of their sample, matching what I got to theirs, just updating and adding my dependencies. then I found it, as soon as I went to targetSdkVersion 30 and compileSdkVersion 30 the error arises. so, for now, I'm on SDK 29, till they fix this. I hope some found this useful
Edit: The issue is reported to google check the status here, and here. it seems to affect Java and Kotlin
It also happens when trying to request an ad from a placement with different type.
For example, banner from interstitial and so on. I hope this will help somenone.
From the Documentation, Error code 0 means Internal error.
public static final int ERROR_CODE_INTERNAL_ERROR
Something happened internally; for instance, an invalid response was
received from the ad server.
Constant Value: 0
This error generally occurs in newly created ads. So wait for few hours for the ads to be loaded.
In my case I had enabled Debug logging for ads previously and this ironically caused them not to work...
Go to your device's settings > Google > Ads > Enable debug logging for ads (Disable)
It can also help if you choose Reset advertising ID on the top.
After this Test Ads started working again.
Good luck!
It also happened to me that error"fail to load ad 0" but there is no problem just wait for sometimes like an hour or 2 or even 5 hours just wait you will get the ads.
You can always run your project on emulator and you will get information about "emulated ad" in your applicaiton
When it works with the sample ad unit Ids your account probably just is not approved yet. Have you created it just now?
Test ads worked right away for me. I had to wait several hours for the "Great news – your account is now approved" mail until my ads worked too. Do not use your own ads for development anyway - you can get your AdMob account blocked for that!
So as soon as the test ads work and you have confirmed that the correct IDs are used for release build you most probably have done everything right and just have to wait
There is also an test App ID "ca-app-pub-3940256099942544~3347511713" but I had no problem to use my own App ID right after creating it.
I had this issues because of AVD settings.
Try to change AVD for debug or try to use real device.
I know this question is from 4 years ago, but I stumbled on this because I was having the same error code. My problem is caused by using my own app-id instead of test app id in the manifest file. Once I changed it to the test-app id, I got error-code 2 instead. It's because DNS is not configured properly in my environment. So anyone having the same issue, make sure you are using correct app id and DNS is configured (Follow this link on how to set it up - Android emulator not able to access the internet)
In my case, the android phone that I used to test is Chinese phone and doesn't come with Google Service installed and have issues sometimes whiel using Google services. I have to manullay uninstall and install it again. And it solves the problem.
I had poor internet connection, and i had to wait sometime to load a video ad.
My two cents: This error also happens when you don't have a working internet connection.
Open the build.gradle file inside your application module directory:
and add this dependency
dependencies {
......
......
implementation 'com.google.android.gms:play-services-ads:19.2.0'
}
I'm working on InMobi Ad integration with sample project.
I've updated the project id and PLACEMENT_ID but I'm getting below message on onAdLoadFailed
Unable to load interstitial ad (error message: An invalid ad request was sent and was rejected by the Ad Network. Please validate the ad request and try again)
Need help.
Having the same problem. Using SDK 5.0.0 integrating Native Ads.
In test mode, slot requested is "0", and it shows no problem, although no ad is filled. When disabling Test Mode, the error #Ankit says is appearing in LogCat.
I have another application which integrates InMobi, but Interstitial ones. It is ansewering request with error and, when it works- some hours ago- it just fills a blank -transparent- ad.
I found the problem, in my case i was using device ID except advertising id of device while adding devices for test in Inmobi. and in Inmobi they change key in response Json with every version of SDK (ie its one for 5.0.0 and different for 5.0.1).
I'm using facebook audience network NativeAdsManager from v4.1.0 to load a batch of ads. It did work in one device, but failed in another. When calling loadAds(), it yields AdError saying No Fill. Does anyone know what it means? I've searched for documentations but found nothing in that particular matter.
Below is my init code.
NativeAdsManager adsManager = new NativeAdsManager(this, "PLACEMENT_ID", 10);
adsManager.setListener(this);
adsManager.loadAds();
Audience network uses people-based targeting so server ads. It may not be able to fill requests from all devices. To ensure you always get ads on a certain device, check the logcat output for a line that looks like:
AdSettings.addTestDevice("HASHED ID");
Follow the instruction there and add that device as a test device, then you will always get ads for requests from that device.
I had the same problem. I fixed it by reducing the number of ads which should be loaded. For example, 5 ads work for me.
NativeAdsManager adsManager = new NativeAdsManager(this, "PLACEMENT_ID", 5);