I just released a game to the Google Plat store but my Admob Ads are not showing. Some easy answers:
My target SDK is 33, and my complileSDK is also 33
My app has been live since in the Play Store since Friday 2/3/23
Yes - The Test Ads show when I used the test units
Yes I switched to the real ad unit code for the release
Yes - I officially connected my App to my Admob Account.
In my AdMob account I don't see any warnings (besides the one about my payments are on hold - but that is because I haven't earned the minimum threshold for payment)
I made the connection to Admob Sunday morning (2/5/23) and I got this email:
We completed our app review. The following app has been approved, and
we’ve lifted the ad serving limits and restrictions put in place
during the review.
Yes - I have the latest implementation code in my build gradle (in the dependencies brackets):
implementation 'com.google.android.gms:play-services-ads:21.4.0'
Again, the Google AdMob test ads show, so in my Manifest I have (in the meta-data):
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-account_number"
In my Main_Activity file I use the Ad Unit ID.
In looking for a solution for this I came across this solution earlier, so I added this code to the Manifest as well:
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
My app creates non-personalized ads like so:
private void createNonPersonalizedAd(Animation slideOutToLeft) {
Bundle networkExtrasBundle = new Bundle();
networkExtrasBundle.putInt("rdp", 1);
AdRequest adRequest = new AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, networkExtrasBundle)
.build();
createInterstitialAd(adRequest, slideOutToLeft);
}
In my Google Play Console I answered "YES" to the following question:
Does your app use advertising ID?
Reason:
Analytics or Marketing
I'm not sure if there is value in pasting all of the code from the Main_Activity that calls the ads, especially since the test ads display OK.
I'm not sure if I declared something wrong in the Play Console that conflicts.
About an hour ago (on 2/6/23) I connected Firebase to my app
I'm not sure if it takes more time to display ads or I have configured something wrong
Can anyone identify what I've done wrong that prevents the ads from showing?
I was able to get some outside help and thus discovered the issue was that Google had not approved my Admob account. This was not reflected in my account though, because everything there looked ready to go - and I got the email from Google saying my app was approved and ready to show ads.
I was browsing other forums where someone mentioned to check Adsense. I went to my Adsense account and saw that again I wasn't approved yet for payments. I had submitted that information before - but I resubmitted my government ID, EIN, incorporation paperwork and then my banking information. Once that was submitted, my ads began to show in my apps.
So the issue wasn't technical. It was just Adsense needing information about my company. I hope this answer helps someone else out.
Related
I've recently changed my lost app signing key via Google Play Console (through Play Console App Integrity support) and it was successful. Now, I can upload my app having the same package id by signing with the new updated key.
But after this change, Admob test and real ads both are not loading and showing error in logcat like "Error 3: Ad failed to load".
What I've already tested but didn't work:
Tried to load the test ads using test ad units.
Tried to load test ads by adding test devices as suggested in the logcat.
Added app-ads.txt for testing as well.
Same code implementation works perfectly in other app.
Please help me to solve the issue.
This is very unique case, so I suggest contacting AdMob support, if you could not get help from them, you can do the following as a last resort:
You can delete the app from AdMob then add it again, which will give you a new App id, then create new Ad units and reflect new ids in your App.
I have successfully integrated admob "Test ads" in my android app. Then I created an ad unit in admob and replaced the test app id and test ad unit id with my original app id and original ad unit id. then I just published the app in play store. Now are there any steps remaining to do for showing admob ads in my app.
Now you need to go to the app you created in admob (where you created the ad unit), and in its settings you need to link the AdMob app to the PlayStore app.
ps. Months ago this was enough for the ads to run, now I think they have put in a review process where, when you connect the app, they do checks to see if it violates their policies, and if all goes well, they should notify you that everything went well, or else the steps to take to solve the problem. (but I haven't loaded / linking new apps in admob in months, so I'm not sure if they do this process or not, or how long it will take, or whatever, so I recommend you do some research about it).
My question is very simple, can I use Google AdMob ads in the android app without publishing it in google play? because when I try to use the real banner ads in my app am getting this message LoadAdError(code: 3, domain: com.google.android.gms.ads, message: No ad config).
be aware I have added my mobile device as a test device and the ads was working fine, but when removed my device from the mobile test devices list in my Google AdMob. am getting the mentioned error message.
The Advertisement works in two ways.
While The App Is In Development.
While The App Is In Production.
Scenario 1: While the App Is In Development
For this case, we need to use Test Advertisements. Admob and "com.google.android.gms.ads" doesn't allow the user to use Advertisements in Development Phase due to false impressions.
To enable Test Advertisement. There are two ways: You can either use google ad unit id's which are available on their site. Or You can use your own ad unit id, but you will be needing to register your device as a test device and use your own request configuration.
Go to AdMob page and settings>test devices and add your device as a test device directly from the site no need to do this programmatically!
and boom! you get the test ads from your ad unit and you can safely use your app!
Scenario 2: While the App Is In Production
This is a pretty simple part...
Just remove the .setTestDeviceIds(Arrays.asList("your device id should go here")) part from the code... (If you had set programmatically)
Link your AdMob App to PlayStore.
Just opt for the ad.
And check if Ads are enabled in your app settings on the play console.
It should work now.
YOU CAN'T USE ADMOB ADS WITHOUT HAVING PUBLISHED YOUR APP IN THE PLAY STORE OR OTHER VERIFIED STORES (CHECK THEIR BLOG TO KNOW THE OTHER STORES YOU CAN UPLOAD) IF YOU DO NOT PUBLISH IT MAY RESULT IN A VIOLATION OF ADMOB POLICY AND YOU MAY BE SUSPENDED! SO, BE CAREFUL.
My android application has some admob ads. I am testing my admob in Google Play store Alpha & Beta channel.
My question is:
Can I use REAL admob ad unit ids when I deploy my app into Google play
store Alpha & Beta channels? Does it violate google play policy? What
if i click or don't click them?
I read this in Google admob:
Do I need to use test ads? Yes. It is against AdMob policy to use live
ads during development, and doing so could cause the suspension of
your AdMob account.
BUT it seems not very clear to me.
Thank you!
Technically you can, but there is one very important point to consider - Pre-launch report. You need to either have Pre-launch reports disabled, or make sure you don't show ads to Firebase test devices, or else you will get a bunch of "clicks by bots", with all the consequences.
I just got my account suspended for a month by accidently doing this - don't repeat my mistake.
You can disable Pre-launch reports in Play Console settings (see screenshot), or use this function to somehow hide your ads from testing devices:
boolean isTestDevice() {
return Boolean.valueOf(Settings.System.getString(getContentResolver(), "firebase.test.lab"));
}
More info in this article on ubuverse.com
Firebase official documentation
Can I use REAL admob ad unit ids when I deploy my app into Google play
store Alpha & Beta channels?
Yes, you can, it does not violate the policy.
What if i click or don't click them?
You cannot/should not click on your own live ads.
(well technically you can, but you will get suspended for it)
If you can get Device ID's of testing devices. Please add them to request. That is best approach.
// Create an ad request. Check logcat output for the hashed device ID to
// get test ads on a physical device.
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE")
.build();
I received an e-mail from Google Admob with this message:
This email is to alert you that one of your applications is not currently in compliance with our AdMob program policies and as a result, ad serving has been disabled to your application.
Issue ID#: #######
Ad serving has been disabled to: c########################
Action required: Check all other remaining applications in your account for compliance.
Current account status: Active
I have only 1 app published on Google Play and the package name in the message is the suspended app on Developer Console. The published app uses the same Admob ID banner that the deleted app. What should I do now? Upload an update of the current app with new ID banner? Thanks for your help.
Yes, every ad should have a different Ad Unit ID. This includes ads for different apps or ads within the same app. You should create a new ad and link it to your app in the play store, then update the app with the new Ad Unit ID.
You should also ensure you are following AdSence's guidelines AdSence Program Policies and Implementation Guidance.
What should I do now? Upload an update of the current app with new ID banner?
Yes. Create a new ad unit and use that in your published app.
You should make it a practice to use different ad units for each app from the beginning.
This will enable better tracking and also help in avoiding situations like this. Now in this case you'll miss on ad revenue from users till they update the app to the version which contains a new working as unit id.