Chapter     6

Making Money with Ads on Your Application

Mobile advertising is on the rise! Worldwide mobile advertising is expected to reach $11.4 billion in 2013 and is projected to reach $24.5 billion in 2016. The train is leaving the station, so let’s get on board!

Naturally, if you’re interested in mobile advertising, you’re hoping to make some money. Mobile advertising is a numbers game; the amount of money you will make per user is quite small, so you must have a very large user base before you can make serious revenue.

On that note, consider that putting an ad in your paid app is often a fatal combination because no one wants to pay for an app and then have to deal with advertising. Besides, in order to make a significant profit, you have to get a lot of downloads, and paid apps rarely reach the level of downloads needed to make meaningful ad revenue.

Figure 6-1 gives you a sense of exactly how many users you need to make money with in-app advertising.

9781430250074_Fig06-01.jpg

Figure 6-1. Ad-based revenues are proportional to your app’s user base

These numbers are intended only as an estimate. The actual values will depend heavily on the specifics of your app. We’ll soon get into the math that will allow you to calculate these numbers for your own app. That said, as you can see, it generally requires a surprisingly large number of users to generate enough ad revenue to surpass the “beer money” stage.

To begin, you will need to sign up with one or more ad networks. These networks, such as AdMob, Mobclix, and Leadbolt, connect advertisers with content publishers. From an advertiser’s perspective, you as an app developer are a content publisher. On the technical side, the ad network will give you an application programming interface (API) with which to serve its ads.

We’ll say more about that later, but let’s talk about the types of ads you can use first.

Types of Mobile Ads

Although ads come in many shapes and sizes, there are two basic types: banner ads and interstitial ads.

Banner ads are those little rectangle ads you’ve seen on mobile devices. They come in many sizes and can be tailored to fit portrait and landscape modes on smartphones and tablets alike. 320x50 and 300x50 are as close as the industry has to a standard size, although new sizes are always emerging. In a useful development, AdMob (and perhaps others) has begun supporting a “Smart Banner” that automatically resizes to support the screen size and orientation of the device it is rendered to. Figure 6-2 shows an example of an AdMob Smart Banner ad. You can learn more about Smart Banners at https://developers.google.com/mobile-ads-sdk/docs/admob/smart-banners .

9781430250074_Fig06-02.jpg

Figure 6-2. BPM Detector screen shot. This AdMob Smart Banner ad is automatically served in the local language; in this case, Hebrew

Interstitial ads are a more powerful sort of ad. They are full-screen ads and often last for a fixed time before returning the user back to the application. The specific time (generally on the order of seconds) is often configurable by the developer so the interstitial ad can fit the pace of the application. Alternatively, an interstitial might be configured to force the user to click in order to return to the application, or involve streaming video. As you might expect, they pay more than banner ads, but are also a lot more disruptive to the user experience. A common tactic is to offer users virtual currency (for use in a gaming app, for example) in return for watching interstitial ads. As another option, you could display them only on rare occasions (once every few days, for example). Be careful with interstitials; they make a lot of money per impression, but you can’t make any money if all your users uninstall your app.

Figure 6-3 shows a few examples of interstitial ads. Note that the ads completely obscure the view of the application and have to be “cleared” to return control to the application.

9781430250074_Fig06-03.jpg

Figure 6-3. Examples of interstitial ads

Mobile Ads by the Numbers

Let’s discuss how to do a revenue analysis of the type we presented in the chart at the beginning of this chapter. Mobile advertising has a jargon all its own, and you need to know the lingo before you can make sense of any financial calculations. In Figure 6-4, note the attention given to statistics such as Revenue, eCPM, Requests, Impressions, Fill Rate, and CTR in the AdMob screen shot.

9781430250074_Fig06-04.jpg

Figure 6-4. Screen shot of AdMob with statistics

You’re going to hear a lot about eCPM, which is the estimated-cost-per-thousand (“M” is the Roman numeral for thousand, remember). eCPM is the basic metric for evaluating your advertising revenue. This abbreviation refers to the amount you will be paid for every 1,000 impressions. An impression is when an ad gets displayed on your app somewhere in the world. So right away, you can see that there are two key factors in maintaining a high eCPM. You need lots of people using your app and you need them to use your app for a while. After all, the longer your app stays open, the more ads will get served.

As a publisher, you will typically see eCPMs ranging between as little as $0.20 and as much as $1.25. That’s the typical range, but there are no guarantees. Typically, advertisers pay on a sliding scale where payment depends on the value of the ads that are served. The ad networks simply pass on a portion of their proceeds to you, and the amount that advertisers are willing to pay depends on the market they advertise to. For example, an insurance provider will typically be willing to pay much more to acquire customers than a video game manufacturer.

Also, eCPMs can be seasonal. You’ll typically make more during holidays, and especially around the holiday season in late December.

The click-through rate (CTR) lets you know how often a user actually clicks an ad that is shown in your app. Some ad networks hide these figures from you and simply let you know your eCPM, without regard to click-through rates. But you should understand that the more your users click ads, the more money you stand to make. Naturally, this means you should always have an ad available for your users to click (subject to fill rates, as discussed in the next paragraph). If your app has multiple screens, consider putting an ad in every one! You can even put an ad in the Settings screen, and we’ll show you how later. But keep in mind that too many ads might alienate users, so be aware of “ad overkill.” You will have to experiment to find the optimal balance.

An ad network’s refresh rate is how often a new ad is sent for display to your app. Many ad networks make these figures adjustable by the developer. You will have to experiment to determine what works best for you. Consider that each new ad is a new opportunity for a user to find something interesting enough to click. On the other hand, if you serve ads too often, your users will find them distracting and perhaps even annoying enough to uninstall your app. Surprisingly, at least for the uninitiated, often your app does not get served an ad even when it wants to display one. The fill rate refers to the percentage of time your app will have ads when it’s ready to show them. Some fill rates can be extremely low, and this directly impacts your revenue. AdMob is not known for having the industry’s highest eCPMs, but on the plus side, if you enable the AdSense option (which serves you AdSense ads when a banner ad isn’t available) AdMob will provide a near 100 percent fill rate. Unfortunately, the AdSense ads don’t pay very well.

One option to get around low fill rates is to integrate your app with more than one ad network at the same time. Then you can display ads from whoever sends the ad first.

Ok, so that’s a background on how the mobile ad business works. So how do you make those revenue projections? You have to estimate your eCPM. As we’ve mentioned, somewhere between $0.20 and $1.25 is usually safe. Now you need to estimate your fill rate. This depends on your ad network, but if you want to pull a number out of a hat, you can start with 75 percent. Your earnings per 1,000 requests are your eCPM multiplied by your fill rate (expressed as a fraction). So now all you need to do is estimate how many requests you will get and you have a back-of-the-envelope estimate for revenue.

Your requests are governed by how many users you have, how long they use the app, and your refresh rate. If you have 10,000 users, and they each use your app for 5 minutes per month, and your app requests an ad every minute, then you will have a total of 10,000 x 5 = 50,000 requests per month. With a fill rate of 0.75 and an eCPM of $0.50, you would generate 50,000 * 0.75 (0.50/1000)  = $18.75 per month. That’s not very much. But notice that if you double the number of minutes users spend with your app, you will double your revenue. Time spent with your app is just as important as user base size. Once again, these calculations show that you need a very large user base to make a living on ad revenue alone.

Selecting a Mobile Ad Network

There are numerous mobile ad networks that would all like your business. Each of them tries to distinguish itself by calling out its high eCPM numbers, its unique ad formats, and the ease with which it integrates into your application. However, particularly with regard to eCPM, these values are extremely dependent on the category of application you have written. The following chart, compiled using data from DoubleClick Ad Exchange makes this clear. Note that this data includes all forms of digital advertising, not just mobile advertising:

9781430250074_Fig06-05.jpg

Figure 6-5. CPM Comparisons Indexed by Vertical

According to this chart, on average, an app in the healthcare space will make over five times the CPM of an app in the law and government space.

It’s easy to imagine that one ad network might have a particular advertiser on its roster that generates a lot of click-throughs with your particular app because your app is targeted correctly to the advertiser. There might be no way to identify this outcome without actually trying the ad network. That said, you might be able to learn something about an ad network that could suggest it would work well with your app.

Here is a list of some ad networks for you to consider. This list is by no means exhaustive:

  • AdMob: Bought by Google, AdMob is probably your best place to start. Integration is easy, and lots of people use it, so there’s plenty of help available online to get started. Our technical examples will reference AdMob, but many of the other software development kits (SDKs) are fairly similar.
  • LeadBolt: One of the more innovative companies, LeadBolt is known for creative ad formats that supposedly deliver higher eCPMs. It’s worth a look.
  • MobFox: If you have a high concentration of users in Europe, MobFox is worth a try. It supposedly delivers high eCPMs to European publishers.
  • Jampp: Based out of Buenos Aires, Jampp is a leading Latin American advertising solution. It also claims to offer the highest eCPM in Latin America.
  • Airpush: Airpush specializes in Android, but it’s a bit controversial. It places ads into a user’s task tray, which many users perceive as being very annoying. On the other hand, supposedly it has very high eCPMs.
  • Buzz City: It specializes in Asia, so if you have a high concentration of Asian users, Buzz City is likely to give good results.
  • Mobclix: Originally focused exclusively on iPhone, Mobclix now also supports Android. It supposedly has a high eCPM, and offers video ads and other nonstandard formats.

AdMob

If you’re going to start somewhere, you might as well start with AdMob. Let’s walk you through the process of using its ad-hosting SDK. Figure 6-6 shows the AdMob home page.

9781430250074_Fig06-06.jpg

Figure 6-6. AdMob home page

AdMob’s web site is at http://www.admob.com/ . When Mark visited the site, AdMob identified him from his Gmail account, which makes sense because it is owned by Google. If you don’t have a Gmail account, you can also log in directly to its site. Not only is the Android area good, but you might want to check out The Guide to the App Galaxy. Registration is simple, and you will receive a confirmation email that includes a number of useful links. In particular, you should see a link to the AdMob help center ( http://helpcenter.admob.com/ ).

The help center is a great place to start learning about AdMob. If you click on the "Publishers" section in the help center, you will find lots of useful introductory material, including how to get started, how to add ads to your app, and how payments work. Remember that Admob considers you to be a publisher, since you will be "publishing" their ads in your app.

Advertisers can also find information in the help center. Just as a backgrounder, the advertiser will start a campaign that specifies how its ads will be presented on applications. The advertisers enter in a start date, end date, budget, and delivery method. They will then be asked to choose an ad group to meet advertising goals and will be given the opportunity to add multiple ad groups. They can then customize which devices they want it on, not to mention the countries or operators they want targeted. Advertisers can even customize the user demographic. Advertisers can run a Text Ad Unit or a Banner Ad Unit, and they can design them as they see fit. The ads will then begin to run, and advertisers can monitor the campaign’s performance.

Okay, that’s how it works for advertisers, but let’s get back to you, the developer. For app integration, follow these steps:

  1. Register and/or log in at http://www.admob.com/ .
  2. Click Sites and Apps.
  3. Click Add Site/App.
  4. Provide the information about the Android application.
  5. Download the SDK.
  6. While the SDK is downloading, head back to the Sites & Apps tab, hover over your app, and click the Manage Settings button that appears. Near the top of the page that appears is a long hexadecimal number named Publisher ID. Copy that number and paste it somewhere. You’ll need it later in an XML layout file so that your app can let AdMob know who you are.
  7. You can also take a moment to explore the AdMob dashboard. You’ll be spending a lot of time on the Sites & Apps tab. This tab shows you your revenue for all your apps, as well as your eCPM and fill rates. It also allows you to view your revenue trends over time.
  8. After the SDK has finished downloading, extract the zip file into a new directory. The directory now contains the AdMob library, which you need to link into your application.
  9. To do that, right-click in the left-side Package Explorer pane in Eclipse. Click Properties and then click the Java Build Path property. In the Java Build Path section, click the Library tab. Now just add the JAR file you previously unzipped into the directory.
  10. Now move over to the Order and Export tab. You should see the AdMob JAR file listed there. Make sure it is selected and move it to the top of the list for good measure. This makes sure that AdMob is first in the build path so we don’t get any dependency issues.
  11. Once the AdMob JAR file is added to the project, you’ll need to grant your application all the permissions required by AdMob. You might already be using these or other permissions in your app’s manifest file, but be sure you’ve got at least the following permissions:
    <uses-permission android:name= "android.permission.INTERNET" />
    and
    <uses-permission android:name= "android.permission.ACCESS_NETWORK_STATE" />
  12. You’ll also need to reference the AdMob activity in your application’s manifest file. Place the following within the application tag in the manifest .xml file:
    <activity android:name = "com.google.ads.AdActivity"
              android:configChanges = "screenSize|smallestScreenSize|keyboard|keyboardHidden|orientation|screenLayout|uiMode" />
  13. That lets your app know you’ll be using the AdMob activity. You’ll want to display the ad in at least one layout, and ideally in enough layouts so the ad is always visible to your users. Within each layout, the ad is simply a view, aptly named AdView. Here’s an example of an AdView layout element:
    <RelativeLayout
        [...]
        xmlns:ads= " http://schemas.android.com/apk/lib/com.google.ads "
    [...]
    <com.google.ads.AdView
           android:id= "@+id/adView1"
           android:layout_width= "wrap_content"
           android:layout_height= "wrap_content"
           ads:adUnitId= "1234567890abcde"
           ads:adSize= "BANNER"
           ads:loadAdOnCreate= "true" />
  14. Notice the adUnitId tag. That number is the publisher ID we discussed earlier. That’s it! You should now have ads enabled in your app. It might take a few minutes before you’re served your first ad, so be a little patient. An example of an application hosting AdMob is shown in Figure 6-7.

    9781430250074_Fig06-07.jpg

    Figure 6-7. The Sandberg Sound Free Meganome, displaying an ad via the AdMob API

With AdMob comes AdWhirl, which was acquired by AdMob. AdWhirl is an open–source ad mediation tool that allows its users to monetize inventory as effectively as possible. Users can allocate inventory to House Ads, AdMob ads, and ads from other networks.

Mobclix

In Mobclix’s own words, it is “the industry’s largest mobile ad exchange network via its sophisticated open marketplace platform and comprehensive account management solution for iPhone application developers, advertisers, ad networks, and agencies.” Don’t let the word “iPhone” put you off from giving Mobclix a try because it also works on other platforms such as Android. Mobclix works with many ad networks, as you can see from its web site (see Figure 6-8).  

9781430250074_Fig06-08.jpg

Figure 6-8. Home page for Mobclix at http://mobclix.com/  

The company boasts the highest eCPMs and claims that its monthly infographics can reveal insight on user behavior, so that you can lay out a more thoughtful ad campaign.

Signing up for Mobclix is simple, and it is equally simple to register one’s applications. Mark found that when I signed up, I got a confirmation e-mail that stated I had to “integrate Mobclix SDK into my app and submit to iTunes.” I found that odd because I wanted to get started with Android.

I found that you should be able to download the Mobclix Android SDK at http://groups.google.com/group/mobclix-android-sdk?pli=1 for the latest release. From there, you can use its 100–percent fill rates and analytics to start making money.  

Affiliate Programs

Although not precisely mobile ads, affiliate programs are similar in that you use your app to direct users’ eyes to mobile websites. The idea of an affiliate program is that an advertiser encourages a developer to send traffic to its retail sale web site, and a minute commission fee is given out for sales rendered. As someone who has done a little work on the web, Mark occasionally receives some revenue with affiliate programs such as Amazon. They are pretty easy to sign up for and set up, and it is possible to use these same affiliates from within an Android app.

Beyond individual affiliates such as Amazon, you can also find affiliate networks. These companies do for affiliates what ad networks do for advertisers. In other words, they connect affiliates with publishers. Instead of an ad, a link to the affiliate’s web site is provided, and payment occurs when a purchase occurs. In a sense, an affiliate network is a kind of ad network in which payment occurs only if a sale is made on the referral.

You should weigh the benefits of an affiliate program versus a typical ad network. Ad networks are more common in mobile apps and they are generally easier to integrate into your application. Although affiliate programs make more money per transaction, it is harder to close a sale than it is merely to get eyes on a web site. In other words, it’s likely that affiliate marketing will make sense only if something about your app makes it very likely that the user will close a sale with your affiliate. For example, if you have a music player app, perhaps referrals to a hardware provider that sells great speakers for Android phones would result in a high rate of sales conversions.

Rakuten Linkshare (at http://mthink.com/affiliate/ ) is the top affiliate network in the world. Although it doesn’t have an API specific to Android, it can be called from within an Android application using an HTML API. This is the same way a publisher links with an affiliate on the web. Rakuten Linkshare has tested its service with a number of mobile platforms, including Android. To learn more, visit its web site at http://www.linkshare.com/advertisers/publishers/ .

There are many other affiliate networks. To see a few, you can investigate the following sites:

Even though Amazon isn’t an affiliate network, its sheer size makes it the third largest affiliate service. You can learn about Amazon’s affiliate program at https://affiliate-program.amazon.com/gp/associates/join/landing/main.html . eBay also has a large affiliate service. You can learn about it at https://ebaypartnernetwork.com/files/hub/en-US/index.html .

A recent announcement by AdMobix is allowing ads to be integrated into an Android application. It seems to be one of the few affiliate networks with an SDK specifically designed for Android. This SDK allows advertisements to be integrated in the application between levels, page loads, or anywhere on the page.

The AdMobix program has a Pay Per Install option that allows developers and advertisers to gain additional users, paying only when their product is installed on a customer’s device, as opposed to paying per view or by click. Other options include Pay Per Call and Pay Per Lead.

You can find more information at the AdMobix SDK for Android site at http://blog.adcommunal.net/admobix-sdk-for-android . At the time of this writing, it currently is in beta.

Figure 6-9 shows the e-mail address to sign up for the beta version of the AdMobix SDK for Android.

9781430250074_Fig06-09.jpg

Figure 6-9. E-mail address to sign up for the beta version of the AdMobix SDK for Android, an affiliate program for Android applications

We wouldn’t be surprised if Android affiliate markets grow more in the near future. If there is one thing we have learned from business on the Internet, it is that someone usually makes a product if enough people clamor for it.

Technical Tricks

One very useful trick to improve your ad revenue is to place an ad in every screen of your app. Many apps have a Settings screen where user preferences are selected.

Figure 6-10 shows a screen shot of Free Meganome with an ad in the Settings screen.

9781430250074_Fig06-10.jpg

Figure 6-10. Screen shot of Free Meganome with an ad in the Settings screen

Android provides a standard framework for Preferences, and your ads can be made to work with that framework. First, you will need a custom preference that supports ads. Note that the following example extends Preference, a technique that has been deprecated in Android 3.0 in favor of PreferenceFragment. This example continues to use Preference to support the roughly 40 percent of the market that isn’t using Android 3.0 or newer. If you are targeting only Android 3.0 and later, you should consider modifying your code to follow the example found here: http://developer.android.com/reference/android/preference/PreferenceActivity.html

public class AdmobPreference extends Preference
{
    public AdmobPreference(Context context) {
        super (context, null );
    }
    public AdmobPreference(Context context, AttributeSet attrs) {
        super (context, attrs);
    }
    @Override
    protected View onCreateView(ViewGroup parent) {
            //override here to return the admob ad instead of a regular preference display
        LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context. LAYOUT_INFLATER_SERVICE );
        return inflater.inflate(R.layout. admob_preference , null );
    }
}
  

This custom preference simply looks for an admob_preference layout to inflate. That’s where all the work is done. The .xml file (minus the XML header) is reproduced here (notice the familiar AdView layout contained within):

<RelativeLayout
    xmlns:android= " http://schemas.android.com/apk/res/android "
    xmlns:ads=" http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width= "fill_parent" android:layout_height= "fill_parent"
    >
            <com.google.ads.AdView
            android:id= "@+id/adView1"
            android:layout_alignParentTop= "true"
            android:layout_centerHorizontal= "true"
            android:adjustViewBounds= "true"
        android:layout_width= "wrap_content"
        android:layout_height= "wrap_content"
        ads:adUnitId= "1234567890abcde"
        ads:adSize= "BANNER"
        ads:loadAdOnCreate= "true" />
</RelativeLayout>
  

That’s it! Those two files are all you need. Simply place your AdmobPreference into your existing list of preferences and you’ll have ads in your Preferences screen!

Summary

If you have the right kind of app, advertising is a great way to make money. Remember, the ideal app for advertising is one that is used frequently and in which each session of use will last a while. That’s because your ad revenue is proportional to the number of ads served. Regardless of the specifics of your app, you can maximize your ad revenue by making sure there’s an ad on every screen in your app. We’ve shown you how to add an ad into the preferences screen, so be sure and do at least that. You can also consider experimenting with interstitial ads, but be sure they make sense in your app, or else you could alienate users. Finally, be sure to experiment with different ad networks.

Here is a checklist for working with in-app ads:

  • Have you made ad revenue projections, and do they meet your expectations?
  • Have you selected one or more ad networks?
  • Have you selected the type of ad that works best for your app?
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.12.149.119