So you're building (or thinking of building) a mobile app for Android or iOS? Apps are the new wave of software that consumers seem to have a particular affinity for. And like all software, you need to think about how to monetize your app. Unfortunately, monetizing in the app eco-system is quite confusing and full of hype. Hopefully this will be a guide to options available for monetizing your app.
The Traditional methods
There are 3 traditional ways you can monetize an app. The first is through in-app advertising. Your app can display a banner or text (or even video ads these days) and when your users click on the ad, you get a slice (usually 70%) of what the advertiser is paying. Be warned though, there are large differences in the way advertising works on the web and how it does on the mobile. The first major difference is that click-through-rates and cost-per-click metrics are lower than what they are on the desktop so you should expect to make less money than desktop for the same amount of traffic. Second, there is no one ad network that completely dominates, so there's lots of options of ad-networks to chose from. Apple, Google, InMobi and several more are big players. Unfortunately, mobile-advertising is still in its infancy, which means all major ad networks see far more supply (lots of apps) than demand (not enough advertisers). You'll see that a large percentage of your ad-requests to go unfilled, so you'll have to learn about things like "ad mediation" and which ad-networks perform the best in what geographies/segments. How much you can make from advertising will vary depending on the app, but you can expect to anywhere from $0.1 to $1 per thousand ad impressions (eCPM), although this number fluctuates wildly.
The other two methods of monetization are paid apps and in-app payments. Both these require the user to pay money (either upfront or from inside the app), so you should expect far fewer users. "Temple Run" the best-performing game on iOS (and now on Android) is able to monetize at 1% - This means that 1% of users actually buy something inside the app, the rest 99% don't pay any money. Paid downloads are trickier to measure, and mobile users seem to be used to (and even expecting) free apps these days, so you'll have to make some guesses around how many users will pay for your app.
The mobile app market is moving so fast, that new avenues of monetization open up on a regular basis. For example, have you considered developing for the Kindle Fire? Some developers are reporting better monetization through Amazon's app store than from the iOS or Google Play stores. The good news is that Amazon's app store is very similar to the Android, so you won't spend a lot of time customizing for it. Another bet you could make is on the Windows Phone marketplace. The WP marketplace is far less crowded, so the chances of your app getting discovered are much better. And if Windows Phone 8 (coming sometime late this year) really takes off, then you could be sitting pretty.
The other surprising thing most app developers discover is that there are 100s of alternative app stores out there, beyond Apple, Google and Amazon. Opera runs a pretty nice app store, as do most operators, handset manufacturers and a whole host of other players. These app stores can host and deliver your apps as well, sometimes better than the big app stores, so you should definitely consider selling your app on these.
Be warned, most app developers will not make money from their apps. By far the biggest challenge your app will face is getting your app discovered. The app marketplaces are incredibly crowded, with 1000s of new apps being added every single day. Getting recognized through the clutter is always hard, but you have some options. If you are well funded, then you can actually "buy" users. Most ad-networks allow app-download campaigns where they will advertise your app and get users to download and install your app. You can expect to pay anywhere between $1 to $10 to acquire users, depending on which geography and what category your app is. Even if you don't want to spend money to acquire users, you can do other things to increase visibility - Get your app reviewed on app-review sites, list on "store-fronts" (like http://android-games.org/) etc. There is a lot you can do to address this problem, but you'll need to have a plan for it.
Calculating your $$
The first step for an app developer should be to estimate how much money you can make from each of the models of monetization available from you. The monetization rates vary widely based on category of app (gaming vs non-gaming), geography you're targeting, age-groups that will use your app etc. Take all these factors into account, estimate the amount of users that will use your app and calculate how much money you can expect to make. This will set a realistic benchmark for your app and give you a sense of how to proceed. If you have more questions, please post them as comments below, and I'll try and answer them.