Using Admob for testing vs live - android

I am finishing up my first app which includes Admob. I have entered my ad unit ID and it is working perfect. I am currently on beta testing, so in order to see 'test' adds, I added my own device using the recommended method:
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("xxxxxxxxxxxxxxxxxxxx").build();
I have 2 questions:
For Beta testing, how can I prevent my testers to see the live ads without knowing their device IDs?
For go-live, do I have to remove the addTestDevice() calls so I can see the real thing?
What is the usual procedure ?

For Beta testing, how can I prevent my testers to see the live ads
without knowing their device IDs?
You have to know their device id, otherwise they will see real ads. However, you can get device id programatically to put it in addTestDevice() method. See this link
For go-live, do I have to remove the addTestDevice() calls so I can
see the real thing?
It is not necessary to remove the addTestDevice(). But if you want to see real ads then yes it is necessary; though it is better to not remove addTestDevice(), that's how you can prevent yourself from accidentally clicking ads.

Related

Will Closing My Admob Account Crash my App

So this is my first Android app. I made a mistake and set up my Admob account as an individual when my App operates under my company. So, after doing the research it appears that once I establish an Admob account I can't change the type (from individual to entity).
So I have to close it and create a new account. But I was wondering if I need to remove all the Admob code from my app before I close the account? Or can I just leave it be and once the account is closed the Admob SDK will just ignore the request to serve an ad since the account would be null.
I don't want to close the account and the activity of Admob searching for an invalid account causing the app to crash. However, I don't want to roll out a whole new app version if I don't have to. I'll have to roll out a new version anyway once I square away a new Admob account.
My gut tells me Admob would just ignore it and not crash the app, but I don't want to assume since my level of expertise it not that high in this area. Any insight would be appreciated.
to my knowledge, if you have caught events in your code like not internet, or failed ads loading, then deleting your Admob account doesn't affect anything, it's just like you wrote the wrong id, your app still works normally

What is the right way to use admob in my app

I just finished my first app, and plan to earn money by admob ads. When I monetise a new app on admob, it want me to search my app in app markets. Does it mean that I should publish my app before put ads in it?
If so, what should I do after getting the admob ad unit id? Copy it into my code and republish a new version of my app which contains the real ads (not the test one)? It sounds stupid to build and publish a new version of app only to put some ads in it.
You should create the Ad Units on AdMob, and then, you only add the next line when you do the requests in your code:
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("XXXXX")
Where "XXXXX" is a the code associated to that specific device, that you obtain in the Logcat. You can add as many devices as you want to test. It is not necessary to remove the lines when compiling or when releasing for Google Play.
You should compile your first release with the ad code ready to go. (That's what I always do).
You use the test script so that you get dummy ads, that their clients don't get charged for, when you're testing. Then you simply swap out that line for the REAL ad serving code when you're ready to release.
You're not going to get in any trouble if you test with the actual admob code as long as you dont:
1. Click an ad. Ever.
2. Test it a gazillion times. Use the test ad for that.

Accidently admob live ad was displayed, should i be worried?

I was doing testing of my admob apps, and I forgot to add test device code in a particular activity, and Live ad was displayed on the device. I didn't clicked it though, should i be worried? will i lose my account?
Don't be worried, google was well aware of these type of accidents. If you kept using it on developer mode, will result in a problem of terminating your admob account. Not this type of accidents.
Been in the same situation. Nothing happened.

Emulator Admob ad

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();

AdRequest.TEST_EMULATOR or something else?

My application is ready, and i have admob into it. I also have the AdRequest.TEST_EMULATOR used for fetching the add. Is it right way or its just the testing way to fetch add. Will i get reveue in live application if i use AdRequest.TEST_EMULATOR.
Thanks
Using AdRequest.addTestDevice(TEST_EMULATOR) is the way to fetch the add during testing. However, this piece of code will only fetch test ads from emulators. Everyone running your app on a device will get live ads, and you'll get revenue when users click on those live ads.
Even if you used AdRequest.addTestDevice("YOUR_DEVICE_ID") to get test ads on your device, this only requests test ads on that one specific device, and every other device will get live ads. You don't have to worry about your users getting test ads once you release.

Categories

Resources