The official tutorial tells me this:
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(Parameters.deviceid)
.build();
rl.addView(adView);
adView.loadAd(adRequest);
I talked with a guy from admob, he told me, that it wouldn't be necessary to get the device ID (this needs an extra permission and I try to avoid such things).
My app is online since about a month now and I have around 180 impressions. I don't got a single click from other people, altough I placed my ad in an extra menu ("Support me"). So users who go into this menu will normally have the idea to show some support I thought.
I'm not sure, but can it be, that the device-ID is really necessary to earn money?
It just makes it so that ads are not served to your test device. It's technically a violation of the TOS if you click on the ads yourself, so that's why it's there, but it is not required.
Device Id's are used in differentiating test devices and other devices. It is not necessary to set your device ID. In that case you will see real ads in your device instead of place holders.
About earning money using admob: Impressions are not going to earn you money, clicks on your ads do. Different countries have different CPC (Cost Per Click) and the amount you earn per click also depends how further has the user gone into by clicking that particular ad. If he buys stuffs, download apps advertised on that ad, you will get high CPC for that particular click.
Related
I am developing a new iOS/Android App and for legal reasons I need to restrict users in certain countries from being served any Ads via AdMob.
I have looked all over AdMob and there does not seem to be any way to 100% restrict a specific country being served Ads which is very strange. Mediation does not seem to be a 100% solution either as from what I read it seems like it would still allow some ads through by default.
According to one person that tested different potential solutions, none of these worked:
We would like to block ad serving to a country - without restricting
traffic to the rest of countries - in one of our apps. So far we have
tried several workarounds - but none of them work 100% of the time:
Workaround 1: create a mediation group targeting that country and these app ad units' and set minimum eCPM to the max value - 1000$.
Workaround 2: set the minimum eCPM of these ad units - in Admob App Page -> Ad units - to 1000$ for that country.
Workaround 3: block ads by not requesting them if Android TelephonyManager returns that user is in that country.
Workaround 4: prevent app distribution in this country in Google Play Console.
None of them block 100% requests/impressions/clicks.
How can we achieve blocking ad serving to a country/group of countries
in Admob? It would be GREAT do to this from Admob Control Panel. I'm
suggesting Admob would return always a "ERROR_CODE_NO_FILL" for these
blocked countries.
Another person mentioned this possibility with no confirmation that it actually works:
1)Create house ad targeted for countries you don’t want to show ads
2)Add your house ad in mediation , set it to top priority for that
country 3)Set limit of impressions on your house ad so that let’s say
after 10 impressions house ad will not show 4)and ultimately no ads
will be shown for that country
I have read above approach somewhere on admob group on google so you
may try it out
Also, I don't want to have to request new App permissions from all users in all countries just to prohibit ads from one or two countries.
So how can one fully restrict certain countries from being served Ads via AdMob?
There are several ways, easiest way would be get the sim country & there by
hide the ad views, for example, in Kotlin
val locale = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
Log.e("Country ", locale.simCountryIso)
This will give you country code, & if the code is among your list, hide the ad view.
You could do the same in Swift too.
In addition to that, you can get the lastknownlocation & the address/country etc.
You can get the country from that too.
I have an app. Where I shows Banner & Interstitial ads to users.
I want to give user an option to temporary remove ads for 1 day using Rewarded ads.
Is that legal? Can I use rewarded ads to remove Banner & Interstitial ads?
Nothing is being said about this specific situation in Admob policies, not even in Admob's "Rewarded inventory policy" therefor I would consider it legal.
You may find more information on that topic on Admob's help site:
Admob Help: Rewarded inventory policy
Since nothing like that is forbidden by the policy it should be allowed. First try to calculate your balance - one rewarded ad would probably bring you less money than a banner shown for 1 day.
If it suits you don't worry and implement this feature, it seems totally legit.
Why should it be a problem? Ads from adMob give you money based on how many times they are seen and/or clicked by users, so if you remove ads for one day you're the only one who get lost.
The important thing is that you describe well what the user obtains form the rewarded ad.
If you check out this link, you can see that it states:
"An impression is counted when one or more pixels of the ad creative is visible on a device's screen."
You can decide whether to display the ad or not. It's up to you to decide how your app behaves.
In one of my android app My Pad , i had added option for users to disable ads.
One year ago my admob account had been banned for a month as I allowed beta testers to click on my banners, resulting in a lot of clicks and causing my 30 day ban from admob.
I'm working on a game and forgot to set my banner in test mode, so i started the game in my device, interstitial was loaded and generated money (0.19$) in my admob account, of course i fixed the problem immediately but I learnt that theres a risk of permanent ban for users who have already been warned.
I can't lose my admob account just because of one click.Any suggestions?Thank you.
There's an option for you to request the admob team to not disable your account. Visit https://support.google.com/admob/faq/3364907#3365454 and go through "Can I appeal the disabling of my account?" and fill the appeal form
If you have list of all devices, please add them as TestDevices so that you will never recive real advertisments on those phone. Please refer admob sample code given to get device ID.
// 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 accidentally clicked my ad in the emulator (not a test ad) and my app is linked with AdMob. Will anything be shut down for false reporting of ad impression and clicks? Like my application is not in google play just yet, I am still testing things out in the emulator. Is this something to really worry about or no not really?
According to this:
"Publishers may not click their own ads or use any means to inflate impressions and/or clicks artificially, including manual methods. Testing your own ads by clicking on them is not allowed.
Google treats invalid activity very seriously, analyzing all clicks and impressions to determine whether they fit a pattern of use that might artificially drive up an advertiser's costs or a publisher's earnings. If we determine that an AdMob account might pose a risk to our advertisers, we may disable that account to protect our advertisers' interests."
You don't have to worry if you only clicked once or twice. However, multiple clicks even when done unintentionally would be detected and treated as clicks generated with malicious or fraudulent intent aka click fraud which leads to disabling of associated accounts.
No safety threshold has been given so to be on a safe side just make sure you test via test ads. You only need one line of code to so :
AdRequest request = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) //Remove this line after testing
.build();
With our advertising programs, we strive to create an online ecosystem that benefits publishers, advertisers and users. For this reason, we sometimes have to take action against accounts that demonstrate behavior toward users or advertisers that may negatively impact how the ecosystem is perceived. In your case, we have detected invalid activity in your AdSense account and it has been disabled.
well yesterday google closed my admob account. and they send me this mail.
To preventint closing Admob account, Should I add this code:
AdRequest request = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) // All emulators
.addTestDevice("AC98C820A50B4AD8A2106EDE96FB87D4") // My Galaxy Nexus test phone
.build();
Also I am not clicking my admob. But I want to prevent Admob close. How should make strong (not closing)Admob?
Since your account was closed for "invalid activity", the code you present may be one possible solution, but it comes down to the more exact (not disclosed by AdMob in this case) reasoning behind it. The code you present will only remove invalid activity from your own personal device, if you have previously clicked or viewed ads on it yourself.
I encourage reading "How Google prevents invalid activity" and "AdSense program policies". Key points to evaluate against how you've acted with your account are:
Publishers may not click their own ads or use any means to inflate impressions and/or clicks artificially, including manual methods. Clicks on Google ads must result from genuine user interest. Any method that artificially generates clicks or impressions on your Google ads is strictly prohibited. These prohibited methods include, but are not limited to, repeated manual clicks or impressions, automated click and impression generating tools and the use of robots or deceptive software. Please note that clicking your own ads for any reason is prohibited.
Publishers may not ask others to click their ads or use deceptive implementation methods to obtain clicks. This includes, but is not limited to, offering compensation to users for viewing ads or performing searches, promising to raise money for third parties for such behavior or placing images next to individual ads.
In short, don't view, click or promote ads yourself. Only let your real users view and click ads out of their own free will.