Monetization in Android

We will describe the three common ways to earn money through an application.

Firstly, we can sell the application for a price in Play Store. There are some cases where charging for your app makes more sense than providing a free app with adverts or in-app products. If you create an app with big value for a small amount of users, you should definitely think about this option. For instance, if we were to release an app to professionally design houses for architects, we would know that our app will not be downloaded by millions of users; it's for a specific and targeted audience looking for quality software. We won't make enough profit with advertisements and our users will be keen to pay a good amount for software that makes their job easier. There is always a risk in asking for the money up front; even if the user has the option to obtain a refund for the app, he/she might not be attracted enough to try it. That is why we should consider the second model.

The second option is known as a freemium model. We release a free app but include in-app purchases in it. Applied to the same example of an app to design houses, we could offer three designs for free so that when the user is comfortable with our product, we can ask him/her to purchase a one-time license or a subscription to continue using the app. It's very common in games, where you can purchase items for your character. It is in games where we can see how this model can also be combined with the third model to get the maximum revenue possible.

The third model of monetization is the advertisement model; we place adverts in our apps, and when the user clicks on them, we get revenue. We can use different types of advertisements—from full screen advertisements to small banners at the bottom. We'll focus on this model. Implementing it is easier than you can imagine. But before implementing it, we need to explain what terms such as CPC (Cost Per Click), CTR (Click Through Rate), fill rate, and so on mean, which will help us choose a good advertisement platform and provider. This is also necessary to understand the metrics and be able to read the charts to know how the advertisements in your app are performing. Having advertisements in different places can change the revenue; however, we need to maximize the revenue without annoying the user. If we offer the user the option to remove advertisements for a small amount of money with an in-app product or with a paid version without advertisements, we can increase the number of advertisements. It's best for the user if they know that they have a choice. If they choose to live with the advertisements, it's their decision, and it won't annoy them as much as if we placed a lot of advertisements without the option to remove them.

Key points in advertisement monetization

We will explain the basics to understand how advertisement monetization works. There are a few concepts in the business with abbreviations that can be confusing at first.

Once we register with an advertisement platform, we will see a reports page with stats about our app. Here is an example of the dashboard from the advertisement network, AdToApp:

Key points in advertisement monetization

Here, we can see requests, fill rate, impressions, clicks, CTR, eCPM, and revenue. Let´s consider each of them.

Requests mean the number of times our app asked the advertisement network for an advert. For instance, if we decide to add a full screen advertisement at the start of our app, every time we start the app, there will be a request to the server to get back an advertisement.

We don't have the advertisement inside our app; what we have is a placeholder, a frame, and an AdView, which will be filled with content provided by the advertisement network. Sometimes, the advertising network doesn't have an ad for us at the moment of the request, which is why the next concept is important.

Fill rate is a percentage derived by the amount of delivered ads divided by the amount of requested ads. For instance, if we start our app ten times and only get back adverts five times, we will have a fill rate of 50 percent. What we want in a good ad network is a fill rate of 100 percent. We want to show as many ads as possible and with a good CPC.

CPC, or cost per click, is how much we earn each time a user clicks on an advertisement in our app; the higher it is, the most revenue we get. The advertiser determines the CPC for an advertisement. Some advertisers may be willing to pay more per click than others.

Many clicks with low CPC is not necessarily better than a few clicks with high CPC. That's why the quality of the advertisements that we have is important.

Impressions are how many times an advertisement is shown to the user. In the previous example, with ten advertisement requests and five failed, we would have five impressions. Impressions don't generate revenue if the user doesn't click on them.

Clicks are the number of times a user clicks on an advertisement. This is what generates the revenue based on the CPC. So, five clicks with a 0.5$ CPC will generate 5x0.5, which is 2.5$.

CTR, or click through rate, is the percentage given by the amount of clicks that your app receives divided by the amount of impressions. If we have 100 advertisements and one click, our CTR will be 1 percent. This amount is generally under 5 percent; users don't click on every advertisement they see, and you could have problems with an advertisement platform, such as Admob, cancelling your account and payments if they believe you are cheating by forcing the user to click on the advertisement. Let's say that we show a dialog at the start of our app and ask the user to click on an advertisement to continue using our app. This will basically give us 100 percent CTR; for every impression, there will be a click, and this is not allowed. We can't, under any circumstances, promote a click.

Advertisement providers want their advertisement to be seen by someone interested in it; they don't want to pay for the click of a person not interested in their advertisement, who will close it after a second. It could be that you have a high CTR because you have a good spot in your app and the advertisements are of interest to every user. If this happens, you will have to explain to your advertisement network, or some, such as Admob, will shut down your account. But we shouldn't be too unfair to them; they do this because they have found a lot of people trying to break the rules, and such a massive company can't focus on individuals, so they need to have objective filters.

Other advertisement network companies are more flexible with this; they usually assign an agent to you, who you can contact frequently on Skype or e-mail, and in case of any problem, they usually let you know.

eCPM stands for "effective cost per thousand impressions". It is calculated by dividing the total earnings by the total number of impressions in thousands. This is basically a quick way of knowing how good you are doing just by looking at a number—very useful to compare advertisement networks. It's a number usually between $0 and 3$.

We need to consider that this does not include the fill rate. It is the cost per thousand impressions and not per thousands requests. A three dollar eCPM with a 50 percent fill rate is the same as one and a half dollar eCPM with 100 percent fill rate.

What makes an advertisement network good is a high fill rate with a high eCPM. We need both to be high; adverts with expensive clicks and not enough fill rates won't produce any revenue because they simply won't be shown.

The guys from AdToApp created a good graphic explaining this:

Key points in advertisement monetization

This graphic represents what we have been talking about; a premium advertisement network with a very high eCPM and a low fill rate is represented as a tall but empty building with the lights off.

We are finished with the theory, and we can start integrating an advertisement solution; in this case, we will choose AdToApp.

Adding advertisements with AdToApp

There is no way to know which advertisement provider is better for you; the best you can do is to try different ones and have a look at the stats.

From experience, we like to use AddToApp because apart from the good delivery results, it's really easy to integrate, and it can be included in your app even if you have another network. Therefore, it's really easy to measure its performance.

It's ideal to use in this book with MasteringAndroidApp as it allows us to use different types of advertisements, full screen advertisements, banners, videos, and so on.

There are mediators for more than 20 different advertisement networks, so including their SDK, we will have access to plenty of advertisements with a high fill rate guaranteed. Regarding their eCPM, they analyze which network is giving better results for you; so, if they can deliver advertisements from multiple networks, they will deliver the ones with better results.

Adding advertisements with AdToApp

We can start creating an account at https://adtoapp.com/?r=OZ-kU-W9Q2qeMmdJsaj3Ow.

Once the account is created, we will create an app using the package name of our app.

Adding advertisements with AdToApp

We will click on the SDK button to download their SDK and get configuration values for the integration.

Adding advertisements with AdToApp

The integration is straightforward; the SDK will contain an AdToAppSDK.jar file, which we need to copy into libs. We need to add Google Play Services in build.gradle and the support library v7, but we already have this.

We need to add the basic permissions to the manifest, which we already have as well, using the following code:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

Then, we need to add extra mandatory assets in the manifest, which can be copied from the same website; it contains the keys of our account. You can find them under the first section, as shown in the following screenshot:

Adding advertisements with AdToApp

Lastly, we can take a look at how to implement Interstitials & Banners or rewarded ads. Rewarded advertisements are the type of advertisements that pop up in a game and say, Watch this video and get (gold, gems, and so on). The viewing of these advertisements is totally up to the users if they want the reward:

Adding advertisements with AdToApp

If we choose interstitials and banners, we need to initialize them depending on whether we want only video advertisements, only images (banners), or both images and videos in an interstitial.

In the website, depending on the type of advert you want, the necessary code will be shown.

The SDK is really flexible; we can go further and set callbacks to know when the banners were loaded and clicked on. This allows us to track the number of clicks in our advertisements and verify that they are the same as in the AdToApp console, making the process transparent.

If we need extra help, we can activate logs in the SDK, which will inform us in case of any problem.

Now, remember the good practices we mentioned at the start of the section about maximizing the number of advertisements without disturbing the user too much and implementing them in your app to start getting revenue!

Adding advertisements with AdToApp
..................Content has been hidden....................

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