I've been struggling with Admob ads for almost a week now and I searched all over the internet to find a possible solution but nothing worked. My Android application does not show test ads nor live ads. This is the log:
I/Ads: Updating ad debug logging enablement.
I/Ads: Starting ad request.
SDK version: afma-sdk-a-v13280019.11910000.1
I/Ads: This request is sent from a test device.
W/Ads: Not retrying to fetch app settings
W/Ads: Update ad debug logging enablement as false
W/Ads: App does not have the required permissions to get location
I/Ads: Trying mediation network:
I/Ads: Instantiating mediation adapter: com.google.DummyAdapter
I/Ads: No fill from any mediation ad networks.
I/Ads: Scheduling ad refresh 60000 milliseconds from now.
W/Ads: Failed to load ad: 3
My test interstitial loads with no problem, the live one doesn't. The banner does not show, not the test one nor the live one.
This is my xml AdView:
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/6300978111"> //test admob unit id
</com.google.android.gms.ads.AdView>
And I load the banner with:
MobileAds.initialize(this, getString(R.string.app_id));
adView1 = findViewById(R.id.adView);
AdRequest adRequest1 = new AdRequest.Builder().addTestDevice("my_test_device_id").build();
adView1.loadAd(adRequest1);
The live interstitial is loaded in this way, and it works (the test one does not):
final InterstitialAd mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("_live_ad_id");
mInterstitialAd.loadAd(new AdRequest.Builder().addTestDevice("my_test_device_id").build());
mInterstitialAd.setAdListener(new AdListener(){
@Override
public void onAdLoaded(){
mInterstitialAd.show();
}
});
if (mInterstitialAd.isLoaded()) {
} else {
Log.d("TAG", "The interstitial wasn't loaded yet.");
}
Things I've tried
compile gradle with
implementation 'com.google.android.gms:play-services-ads:15.0.1'
compile gradle with firebase ads, following the guide in the firebase site and connecting firebase to my admob account
include the AdView inside a Relative and Linear Layout
change the ad size
change activity and layout
Nothing worked. From what I've understood my log say the ad request is successful but admob does not have ads to display at the moment. Maybe the live ads are not shown because my app is not live yet but why the test ads does not show? And why only the live interstitial ad work? I also thought my admob account could be disabled but the ads works on my other applications.