If you are like me, you love making apps… the excitement of choosing the right title, gathering material to publish, creating a new and fun user experience… And once you are done, your thoughts meander… ok, great, now how do I make money with all this!?
Why Did I Choose AdMob?
Because Google owns it, because Google owns Android and because Google owns YouTube. A few years ago I had a very good experience with AdSense and some of my sites (Google owns traffic and Google owns AdSense too), until Google stopped sending traffic to my site because one of its infamous “slaps”. So why go with AdMob, which is for apps what AdSense used to be for sites!?
Now there are competitors, that’s why. The biggest competitor is Apple with its App Store, meaning, if Google stops loving my apps, I have elsewhere to go. Also, there are about 40 large and up to 150 not so large sites for distribution of Android apps which are independent from the Google’s Play Store.
I can distribute my apps from my own site if I wanted to, and then the apps can “sell” my other apps on their own, which sites just cannot do.
Finally, AdMob is the largest ads network for apps, they pay always on time, have large inventory of ads and so I feel I’m safe. If they do not like my apps any more, I should be able to switch to another ad network with a turn of a switch, as they say.
Integrating AdMob Code
The basic Java code for AdMob ads took me about three months to write and make perfect. I started that mid 2014, just when Google switched from an older version of AdMob to a new version. About 95% of articles on sites were about the old version, so it really took me weeks and months in the end to get it right.
To complicate things further, the relatively new version of Buzztouch, which is still of interest today, 3.0, works with fragments only. If you must have an activity in your app, you can, but the spirit of BT 3.0 is – fragments. Ok, but it meant additional agony for coding. For instance, if you have an activity, in most places you will use a variable called this, which is an object-oriented way of saying “all the variable in this class”. With fragments, it must be a context, i.e. a variable of type Context, and that usually is
Context context = getActivity().getApplicationContext();
— however, in some cases, it is only the first part, getActivity().
Things like that slowed me down for weeks, until I started getting them right the first time.
Buzztouch Control Panel Concept Applied to AdMob
The beauty of Buzztouch is not in the eye of the beholder but is in its control panel. Each Java class has its control panel and the class and the interactive panel together create a plugin. So, if your app is published in Play Store and you want to expel one ad agency and switch to another, how can you do that? For other apps, that means republishing the app, which can be a tricky process in itself. With Buzztouch control panel, you just set a parameter, save its new value, the app automatically refreshes itself and voila! new ads are now appearing.
Within AdMob plugins, you have two kinds of ads, banners and interstitial ads. They are completely different, both from the inside, technically, as well as from the outside, how they feel to the user. They are two different ways of programming, however, I put them together into the same plugin and then give the user parameters in the control panel to play with.
Here is what the control panel looks like:
Banner Ads for Admob and the Control Panel
The three upper most parameters are about banner ads. Here is what they mean:
Decide whether you want the banner ads in the app to be active or not. Acts as a general switch. If no, none of the ads can be shown. If yes, show type of ads that you want to, exactly one at any time. Deciding which type of ad to show is in another field, whichAdToShow. You can choose banner ads to appear either at the top or at the bottom of the screen.
Enter the code for banner AdMob ads that you have gotten from AdMob.com for your app and/or specifically for this screen.
This will be the code for the upper banner ad, provided the “underlying” plugin supports such a placement. For instance, Menu with Image does support such a placement.
Here is what it looks like on the main menu:
Enter the code for bottom banner AdMob ads that you have gotten from AdMob.com for your app and/or specifically for this screen.
So you will have two different banner ad codes, if you want to show both.
Interstitial Ads for Admob and the Control Panel
Here are the parameters for interstitial ads:
If 0 is chosen as the interstitial ads frequency, no ad is shown at all. In other words, if you do not want interstitial ads to appear at all, put 0 here.
Choose 1 to show an interstitial ad each time the plugin is executed.
Choose 2 to show an interstitial ad every second time the plugin is executed.
And so on. You may want to put an even higher number here in order not to alienate the visitors of your mobile app.
Interstitial AdMob Timing (in seconds)
After how many seconds will the next interstitial ad appear in the app?
Put 1 for 1 second, 60 for one minute, 180 for three minutes and so on.
If you do not put anything here, the default is 180 which will show a new interstitial ad every three minutes.
Enter the code for interstitial AdMob ads that you have gotten from AdMob.com for your app.
Once again, this will be another code for another type of ad from AdMob site.
General Parameters For Showing AdMob Ads in the App
Choose one SDK and one company that you want to work with in the app.
You can change it later, dynamically.
In this way you can change ad agencies on the fly, without recompiling and resubmitting the app again.
This presupposes that your app was shipped with the all needed SDKs in the first place.
If field Activate Ads was set to NO, none of the ads will show up, regardless of what you select from the list below.
These options are taken from the Buzztouch site, when one wants to download the source code for the app. Some of these may not be with us in the future, for example, here Scringo is still shown in spite of its demise in the last weeks of 2014.
Truth to be told, only AdMob is working now. That may change in the future!
Set to Yes if you want to show test ads only.
This is secure and should be done while you test that app and the ads.
At least in Google AdMob, clicking on your own ads can cost you the loss of account.
Set to No to make money, i.e. to show real ads.
Here is what a test AdMob ad looks like:
This setup of the ads enables one to have maximal flexibility. You can show no ads at all, only at the top, only at the bottom or both; interstitial ads are also on or off. You can show them, say, every fifth time the user enters one type of screen, or every 9 seconds or in combination.
How To Make Money With AdMob Ads In Your App?
After you install them and take a new AdMob ad code for each place in every screen that you show ads at, start counting. Soon you will know how many ad views your app has, how much money each ad has brought. You will see all that in the AdMob.com interface, or, you can also watch it at the AdSense site, if you happen to show AdSense ads as well.
In my experience, interstitial ads bring no money at all, probably I am too agressive. They say good results with interstitial ads can be achieved if you show them at natural breaks in the app, or, say, only once per app, when the user is leaving the app.
The best money maker is at the very first screen that the user sees. In my apps, that is the main menu. You should make more money if you managed to show more ads, which was the reason I added the option to show bottom banner ads, and then to show both the top and bottom ads at the same time.
Google is my friend in all this. I started showing ads in a new version of Opera Music app on the 10th of September 2014. At first the ads were off target, but in December, the ads were much more targeted per country, so Google both has large inventory of ads and optimizes their placement and timing as well.
How to Contact Dusko Savic
Dusko Savic (DuskoSavic.com) has authored 25 books about programming and software. One of his sites was visited more than 600000 times since 2005. With Buzztouch.com since 2011, Dusko is equally at home with Java for Android and Objective-C for iOS. In 2014, he has created about a two dozen new plugins which he uses in his own apps and/or writes directly for clients.
You can see his Android apps here. His flagship app is Opera Music, download it and enjoy the best opera arias from the best performers in history. See his AdMob plugin in action there, an elegant way of making passive money with Android apps.
If you want your apps to make money, let me know. If you want me to
— code a plugin or an
— entire app for you, either for Android or iOS,
— click here to send me an email.
Link to the blog: http://duskosavic.com
Link to the contact page: http://duskosavic.com/blog/contact-dusko-savic/