Developer Console
Vielen Dank für deinen Besuch. Diese Seite ist nur in Englisch verfügbar.
Appstore Blogs

Appstore Blogs

Want the latest?

appstore topics

Recent Posts


Showing posts tagged with Monetization

September 26, 2013

Peter Heinrich

Search for Kindle Apps Ad Solution

Games2Win always believed their ad revenue from their Kindle Apps could do better.  Just like many mobile game developers relying on advertising for a significant portion of its revenue, they continually evaluate the performance of its ad networks.

Amazon Mobile Ads API Trial

Games2Win decided to try the Amazon Mobile Ads API after its release.  The plan was to test its performance in one of their mid-size Kindle Fire apps, Eventually, they would expand the Amazon Mobile Ads API to other flagship games such as Parking Frenzy and Dating Frenzy if the results proved positive.

Strong Performance and Broad Deployment on Android

Games2Win found a good reason to accelerate adoption of the Amazon Mobile Ads API across their catalog. Amazon delivered 733% better than any other ad network Games2Win tested with a $1.25 eCPM.*  Dating Frenzy achieved similar results, proving the initial success was no fluke. Parking Frenzy rose to $1.85 eCPM, and Perfect Date hit an all-time high of $2.87 eCPM.  Games2Win was pleasantly surprised, to say the least.

“The $2.87 eCPM we saw through Amazon far exceeded our expectation. Now we’re racing to get Amazon integrated in all of our apps across all Android stores.”

—Mahesh Khambadkone, Co-Founder of Games2Win

Recipe for Success

Games2Win shares the following best practices with other developers based on their experience.

Incorporate ads in to the app early in the design phase. “Integrate the ads into the game early on.  Don't rely on using the pre-provided demo app to prove that ads work,” says Kamalakannan Jothi, Head of Games Technology.  “Depending on the platform you are developing on, understand how its plugins are integrated.  This makes any debugging much easier.”  Games2Win creates its games using Adobe AIR and Unity3D.

Jothi also recommends calling the Amazon Mobile Ad Network first to take advantage of the high eCPM then using a mediation layer to call other third-party ad networks afterwards.  Take advantage of open source and commercial plug-ins when possible to avoid having to roll your own.

About Games2Win
Games2win (g2w) is a casual games company that has clocked 35 million downloads across all mobile stores in just one year.


* Performance may vary by app.

September 25, 2013

Peter Heinrich


 Following up on the latest in a series of webinars covering Amazon devices, game services, and mobile applications, here’s a list of questions we collected during and after our presentation on the Amazon Mobile Associates API.

Q: Is the advertising fee fixed (6%) for all products?

A: Products belonging to certain categories have fixed fee rate ranging between 4-6%. Products in the General products category have a volume based fee rate between 4-6%. See Table 3 and 4 at the here.

Q: Do you plan to serve also the non-US users in the future?

A: Great request. We’ll be sure to pass this along to the product team.

Q: Does this mean we will not get credit for mobile users making purchases through our websites which use the regular api?  Can we use the new mobile API on our websites where we have both mobile and desktop users making purchases, and get credit for both?

A: The Mobile Associates API is available only for Native Android Apps. Mobile Associates is linked to a new Associates account that we create for you when you accept the Amazon Mobile App Distribution Agreement and create your developer account. Reporting for your Mobile Associates account is only available on You can continue to use Associates Central to access your pre-existing Associates account information. If both your Mobile and pre-existing Associates account earn advertising fees, they will result in separate payments.

Q. How do I select and specify products I want to offer in my app?

A: You can either offer specific product(s) in your app or offer product(s) that fulfill certain criteria.

To offer specific products, first you need to select the products that you want to offer. You can do that by going to Amazon retail website, determining the products you want to offer, and looking up their products IDs. Product IDs are also called ASIN. You can find details of finding product IDs here.

You can also offer product(s) that fulfill certain criteria. You can do this by specifying a search keyword, and product category. The API will return product(s) that fulfill that search criteria in the given category. You also have the option to sort and filter the search results.

Q. How can I get product information including properly formatted price of a product?

A: You can retrieve a product information using search and searchByID(..). Search API allows you to search for products using keyword and category. As part of the search results the API also returns product information that includes productID, title, description, image URL, price, and rating. searchByID allows you to lookup product(s) using productID. As part of the response, the API returns product title, description, image URL, price and rating.

The product information returned by both methods, search(..) and searchByID(..) are part of the Product class. You can call Product.getPrice to get the Price object. You can use the Price object to retrieve the monetary value, currency and the properly formatted price.

Note: search and searchByID APIs are only available if you app is distributed though Amazon Appstore for Android

Q. Can I offer digital products like ebooks, digital video etc. in my app?

A: Yes, you can offer digital products like ebooks, digital video etc through the Mobile Associates. Digital products are available for sale through DIRECT_WITH_DETAIL and DIRECT_WITH_PREVIEW purchase experiences. Digital products are not available for digital bundling feature i.e grant a virtual item based on a purchase of a product from Amazon.

Q. How can I check if a product is in stock and available for sale?

A: You can check if the product is in stock and available for sale by calling searchByID API. You can specify the productID of the product you want to offer in the SearchByIDRequest. SearchByIDResponse object will be delivered to your app through the ShoppingListener.onSearchByIDResponse callback. You can call SearchByIDResponse.getUnavailableProductIDs to check the products that are unavailable in your SearchByIDRequst. As a best practice you must always check if the product is available before offering it to the users in your app.

Note: search and searchByID APIs are only available if you app is distributed though Amazon Appstore for Android

Q. How can I get information on products that are available in different colors and sizes?

A: Products that are available in different shape and sizes are called variations. You can find product ID of a specific variation of a product on Amazon retail website. You can offer variations of the same products in your app by specifying the product ID of each variation in your app.

The Amazon product detail page handles variations. If a product has variations, users will be able to find and select variations on the Amazon product page. The Amazon Product detail page is presented to the user when you call the purchase(..) API and with IN_APP or DIRECT_WITH_DETAIL purchase experience.

You cannot retrieve product variation programmatically through the Mobile Associates API.

Q. Can I search for certain class of products using the API?

A: Yes you can search for products by specifying keyword and category. You can programmatically retrieve search results using the search API. Note: the search API is only available if your app is distributed through Amazon Appstore.

You can direct users to a search result page on Amazon site using LinkService.openRetailPage method and OpenSearchPageRequest request object.

Q. What are the available search categories?

A: Available search categories and list of available sortType and filters are available here.

Q. Can I filter and sort the search results?

A: Yes, you can specify the sort type and filters for search results. The available sort types and filters depend on the product categories. You can find the complete list here.

Q. Do I need to track the current user?

A: If you are implementing a digital bundle, you should keep track of granted virtual items based on the current logged in use. If the user changes you should retrieve the purchase receipts for the current user by specifying offset.BEGINING in the getReceipt call and make sure that you grant the items owned by the new user. You would also want to ensure that the new user does not have access to items owned by the previous user. 

Q. When should I grant the digital item if I am implementing a Digital Bundle?

A: You should grant the digital bundle when the receipt for the purchase is delivered to your app. You will have to request for the receipt as part of the purchase call by setting the receiveReceipt flag to true. You should only set this flag to true if you are implementing a digital bundle.

When you set receiveReceipt to true, if the PurchaseResponse.Status is SUCCESSFUL in onPurchaseResponse, you can call PurchaseResponse.getReceipts() to retrieve the receipt for the purchase and grant the digital bundle. 

If you receive PurchaseResponse.Status as PENDING, you will have to rely on ShoppingService.getReceipts(..) to get the receipt for the purchase. You must call getReceipts in the onResume method of the main activity and also in onResume of any activity that implements the Mobile Associates API functionality. This will ensure that when the transaction goes through, your app receives the receipt and grants the digital bundle.


Q. What if the customer cancels the order or returns the product that has a digital bundle?

A: If a customer cancels the order or returns the product that has an associated digital bundle, the receipt for that order is marked as canceled and delivered to your app when you call ShoppingService.getReceipts(..).You may want to revoke the granted digital item in this case. Hence, when implementing a digital bundle, you must track the receipts (preferably on your server) for which you have granted a digital item. You must also de-dupe the receipts using receiptID to ensure that you do not grant or revoke a digital item multiple times.

Q. On a successful product purchase, how can I check the product that corresponds to the purchase request?

A: Note: You can only find the product corresponding to the successful purchase if you are implementing an IN_APP shopping experience and you specify receiveReceipt to true (i.e implement a digital bundle) in the ShoppingService.purchase(..) method.

If you are implementing an IN_APP shopping experience and you specify the receiveReceipt to true, you will be able to retrieve the receipt for the successful purchase by calling PurchaseResponse.getReceipts(..) in ShoppingListener.onPurchaseResopnse callback. By calling Receipt.getProductID(..) you can retrieve the product ID of the product that corresponds to the purchase request. 

Q. How do I test my implementation?

A: You do not require any additional tools to test your implementation for LinkService or DIRECT_WITH_DETAIL and DIRECT_WITH_PREVIEW purchase modes. However, to test IN_APP purchase mode and digital bundling functionality, you will need Amazon App Tester. Amazon App Tester enables you to test you IN_APP shopping and digital bundling feature in a production like environment.

Q. How do I get Amazon App Tester?

A: You can get the Amazon App Tester from Amazon Appstore for Android. See details here.

Q. What reporting is available for the Mobile Associates API?

A: Earnings and Payment reports for the Mobile Associates API are available through the Amazon Mobile App Distribution portal. You can view the earning reports based on shipped units, revenue, and net earnings. You can view sales, returns and net earnings for each of your app that integrates with the Mobile Associates API. You can also view this information for individual products that are sold through your app.

Q. How can I check at runtime what features of the Mobile Associates API are available?

A: You can check the available features at runtime by calling ShoppingService.getServiceStatus(..) method. This will result in a callback ShoppingListener.onServiceStatusResponse(..) with ServiceStatusResponse as a parameter. You can use ServiceStatusResponse to

  • Check if receipt functionality (digital bundles) are supported by calling ServiceStatusResponse.canGetReceipts()
  • Check if search functionality (search and searchByID) is supported by calling ServiceStatusResponse.canSearch()
  • Check the available purchase experiences by calling ServiceStatusResponse.getSupportedPurchaseExperiences()

Q: I am using b4a IDE to create android apps. The group using this IDE is considerably large. Can I use your API in our apps using this IDE.?

A: We do not provide specific support for b4a IDE. However, the Mobile Associates API is a standard JAVA library that should work with any IDE supporting Android development.

Q: Is it possible to integrate the API into non-Android devices like the iPhone/iPad? Or is there any way to do mobile affiliate linking for iOS? 

A: MAA does not work on iOS. We’ll be sure to pass this along to the product team. You can monetize your mobile website on iOS devices through our standard affiliate program.

Q: Most apps are trying to reach global market.  Would like to hear that Amazon is starting to think about how MMA can work in more countries.  Maybe even plans to support e.g. Europe & Japan once MMA is working smoothly in USA.

A: Great request. We’ll be sure to pass this along to the product team.

Q: Are there any plans to allow shopping with MA API for digital goods, or is there a process in place for applying for that ability today?

A: Mobile Associates provides the ability to offer both physical and digital goods

Q: Any more detail on using the war file to test receipts?

A: Please see the section on Testing you App here.

Q: Is there an Adobe AIR native extension available?

A: Not currently. We’ll be sure to pass this along to the product team.

Q: Is it possible to interact with wish lists via the API?

A: Great request. We’ll be sure to pass this along to the product team.

Q: If we have sales through our regular website using our regular api and the customer is using a mobile device will we still get the same fees?

A: The standard Associates Program now allows affiliates to earn advertising fees by referring traffic from mobile optimized websites in addition to traditional websites.

Q: Can we see sample apps that are making money with the Mobile Associates API?

A: Please check out the Mobile Associates API site for more information.

Don’t miss out on our next webinar event: 
Best Practices: How to Integrate Amazon Maps in Your App
on October 3rd, 2013 @ 10:00 AM
Pre-register here! 



September 24, 2013

Peter Heinrich

If you’re a developer, you know that practically everything has an online component today, including mobile applications. Going online is so fundamental to mobile development, right down to how apps are delivered, it’s no wonder that innovation in the cloud should so closely track the rise of mobile computing devices.

It may also explain the fact that mobile has already redefined software monetization, since mobile apps can reach an audience orders of magnitude larger than traditional software and take advantage of a network connection to keep them engaged. In-app purchases are cheap and convenient for customers, while developers can rely on cloud services to process transactions and make money at scale.

The landscape is always changing, though, which is one of the reasons we developed the Mobile and Gaming track at AWS re:Invent this year. It allows us to dive deep into new technologies that drive (and are driven by) mobile development like the Amazon Mobile Associates API, which extends In-App Purchasing to any physical or digital product sold on Amazon. The service creates new opportunities to monetize in your app, but it’s not the only one. Taking In-App Purchasing to the Next Level: Selling Physical Goods through Your App & Other Monetization Strategies will demonstrate through case studies and code samples how you can use this and other Amazon services to generate more revenue on mobile.

AWS re:Invent 2013 is fast approaching, so I hope you’ll take a moment to peruse the great mobile and gaming content available this year, then sign up before registration is full. It will be a fun and informative week in Las Vegas, November 12-15. See you there!


September 10, 2013

Peter Heinrich

Does your mobile app or game offer in-app purchase? Did you know that you can easily add support for any physical or digital product available on Amazon? The new Amazon Mobile Associates API makes it possible, whether you distribute your app on the Amazon Appstore or elsewhere.

Join us live at 10am on Tuesday, September 17 for a webinar explaining Mobile Associates and how to integrate it into your own mobile Android applications. We’ll cover topics such as direct linking to Amazon product and search pages (optimized for the mobile experience), in-app product preview, and bundling virtual digital items with physical purchases. Be sure to stick around for live Q&A following the presentation.

Don't miss out:
Tuesday, September 17, 2013
10:00-11:00am PDT
Pre-register here!




September 06, 2013

Mike Hines


Another follow-up in the series of webinars covering Amazon devices, services, and mobile applications, here’s a list of questions we collected during and after our presentation on the Amazon In-App Purchasing API.


Q: How does amazon recommend implementing restoring IAPs for device re-installs or multiple devices?

A: For Entitlements and Subscriptions, you can use PurchasingManager.initiatePurchaseUpdatesRequest(Offset.BEGINNING); to get all the receipts for the currentUser, and you can validate any receipt against the Receipt Validation Service (not discussed in the Webinar.)

Q:Can I host website files on S3 for app program?  How will only legitimate app purchasers access the website? Mobile app program needs more info/examples. e-book publishers can't relate.

A: Yes. IAP does not care where entitled content is fulfilled from. You can fulfill content from an S3 server. Your app would be responsible for validating entitlement or active subscription for currentUser, and then pulling down the S3 content and granting currentUser access to that data.

Q: Could you show how it looks visually in some app?

A: See ButtonClicker, a sample in the IAP section of the SDK download

Q: I mean specific recommendations implemented inapp purchases with ANE.

A: For information about IAP and Adobe AIR ANE, please visit:

Q: Can one test in-app purchases through emulator?

A: Yes, you can use the SDK Tester to test in-app purchases through emulator. You can learn more about the SDK Tester at:

Q: Anything specific for Adobe Air ANE?

A: For information about IAP and Adobe AIR ANE, please visit:

Q: We are looking to restore saved game data using the userID, is this a sensible use for the ID? If so what is the maximum length of this string, does it contain only ASCII characters?

A: Good question. We recommend using the userID (player name and alias) from the GameCircle API. Using this, you can not only get an identifier for saved game data, but you can also sync game state, store high-scores and register achievements.  If you don't want to use GameCircle, getUserID will return an app-specific ID of the currently logged in user, meaning the result will be different for different apps, even on the same device. The UserID will, however, always the same for the same package name, even across devices.

Q: What format is the userID field? (length, character encoding, etc)

A: userID is returned as java.lang.String, see API reference for details:

Q: Is there any way we can test a real IAP before launching the app? We have been bitten by minor differences between IAPs made in dev and production environments in the past.

A: Unfortunately it is not currently possible.

Q: We submitted our app, but we are told the app crashes, but no device logs are provided to help us identify where it is crashing…how could we get device logs when a crash it detected?

A: I'm sorry to hear that. Please submit a Contact Us with the details of your app:

Q: Can you also add a few more samples of html5 code for us to check so that we know our content will work on multiple devices. 

A: So far, the only HTML5 samples we have are in the SDK. Amazon Mobile App SDK . This is a ZIP file that contains the JavaScript files that are required for your application to access the Amazon services it needs. I recommend using the Web App Tester (free) to test how your content will work. 

Q: Will the emulator work on my desktop?

A: Yes, you can learn more about the emulator at:

Q: For apps that are html5 with css, you mentioned on Aug 7th press release that we could take mobile websites and turn them into apps.  How do I set that website so that it is secure to purchasers?  

A: We have a quick security overview here: More detail should really be provided on a case-by-case basis with a developer.

Q: Will you accept a .htmlz file?  Or only html5? 

A: They way you submit a web-app is by putting a manifest.xml file at the root of your web app and submitting the path to that manifest, so submitting a file is not required.

Q. We submitted our in-app billing application, but it keeps getting rejected because of various reasons.  We are not receiving any device log, so it complicated to debug and resolve.

A. Please submit a Contact Us with the details of your app, our engineers will be able to assist you:

Q. When we complete an IAP item in the dashboard do we submit it before we submit the app or at the same?

A. Entering the IAP items in the developer portal before or at the same time is okay. It's not okay to wait for some time after the app is submitted to add your in-app purchase items to the portal.

Don’t miss out on our next webinar event: 
Monetize Your Apps With Physical Goods Using Amazon's Mobile Associates API
on September 17th, 2013 @ 10:00 AM PDT.
Pre-register here!


September 04, 2013

Peter Heinrich

There are several ways to customize the behavior of Amazon Mobile Ads, such as targeting certain user segments or changing how ad size is determined, among others. How ads interact with your app’s layout, for example, is an area worth exploring, since there are several options to choose from and the one you select is largely a matter of personal taste.

Several posts on this blog and the technical documentation are available to help you get started with Mobile Ads in as little as five minutes, so I’ll assume that you have already:

1)      Set up an account on Amazon’s Mobile App Distribution Portal, including your tax and payment information,

2)      Downloaded the Mobile Ads API, added it to your project, and updated your manifest, and

3)      Initialized Mobile Ads in your app using its Application Key (available on the portal).

With basic integration out of the way, we can talk about the difference between programmatic and XML layout configuration. Configuring your ads in code allows for dynamic changes in response to events (for example), while XML resources consolidate layout data in a centralized, easy-to-read format. Both will require an AdLayout object, which we can define as a member object in our Android Activity:

public class MainActivity extends Activity {
   // Hold a reference to the AdLayout we create.
   protected AdLayout adView;

    . . .

Defining Your Ad Layout in Code

If you want to lay out your ads programmatically, you take responsibility for manually instantiating the AdLayout (called adView, in the example above) and inserting it into your view hierarchy, usually in the onCreate() method.  For example:

   protected void onCreate(Bundle savedInstanceState) {

       // Initialize Mobile Ads with this app’s secret key.

        // Instantiate the AdLayout object and get a pointer to the layout where
       // it will live (in this case, the app’s main layout). Note that we also
       // set the ad size explicitly to 600 x 90 pixels.
       this.adView = new AdLayout(this, AdSize.SIZE_600x90);
       LinearLayout layout = (LinearLayout)findViewById(;

        // Asynchronous task to retrieve an ad.
       this.adView.loadAd(new AdTargetingOptions());


Note that we’re explicitly setting the size of the ad we want Mobile Ads to supply to us. In the example above, the second parameter to the AdLayout constructor effectively sets layout_width and layout_height to 600 and 90, respectively. If we omit it, we direct Mobile Ads to select an appropriate ad size on its own. Here’s what the constructor call looks like without the size parameter:

        // No explicit size requested enables Auto Ad Size mode.      
       this.adView = new AdLayout(this);

We recommend that this auto size selection mode be used with ads that span the entire screen width, so it’s good practice to make the target layout as wide as the screen. (This isn’t required, though.) MATCH_PARENT can then be used to ensure the ad fills the entire width.  Optionally, WRAP_CONTENT can be used to force the ad to scale as appropriate to fill the entire AdLayout.  Modifying onCreate() to select the ad size automatically, we might obtain something like this:

   protected void onCreate(Bundle savedInstanceState) {

        // Initialize Mobile Ads with this app’s secret key.

        // No explicit size requested enables Auto Ad Size mode.      
       this.adView = new AdLayout(this);
       LinearLayout layout = (LinearLayout)findViewById(;

        // Ensure the ad scales to fill the screen width.
       LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
       layout.addView(this.adView, lp);

        // Asynchronous task to retrieve an ad.
       this.adView.loadAd(new AdTargetingOptions());


Defining Your Ad Layout in XML

Besides choosing to specify the ad size ourselves (or letting Mobile Ads do it for us), we also have options when it comes to how we define the AdLayout. We can do it in code, as shown above, or move the definition to our resource files, separating implementation from interface. We’ll still use our adView member to hold the object reference, but instantiation becomes a simple look-up instead of a constructor call. We don’t have to modify the view hierarchy, either, since it’s implicit in the structure of our XML resource:

   protected void onCreate(Bundle savedInstanceState) {

        // Initialize Mobile Ads with this app’s secret key.

        // Just look up the AdLayout and go.
        this.adView = (AdLayout)findViewById(;
        this.adView.loadAd(new AdTargetingOptions());


This approach requires a corresponding change to the activity_main.xml file, of course, since it’s providing the content view for our Activity in this example (see the setContentView() call, above). This is a good thing, though, since changes to the layout will now be made in that resource file instead of in code.

    <LinearLayout xmlns:android=""



This minimal example shows how a 320 x 50 AdLayout would be defined in an XML resource file. Note that we have to define the Amazon namespace first, which we do by adding another xmlns attribute to the root element of the document.

Auto Ad Size is available to us when defining the AdLayout in XML, just as it is when we define it programmatically. Like we did in the code version, we simply omit the explicit size parameter and replace the hard-coded dimensions to match the parent width and wrap the content height:

      . . .

Once again, Mobile Ads will select an ad size appropriate to the pixel density and width of our screen, then scale the ad image as appropriate to fill the space.

Final Thoughts

Regardless of how we define our AdLayout, we must clean up after ourselves when our Activity is destroyed. This just means we need to explicitly dispose of the object when appropriate:

   public void onDestroy() {

It’s also worth repeating that an AdLayout object may load, at most, one ad at a time. (There’s no reason you can’t instantiate more than one AdLayout, though, if you’re keen on showing multiple ads at once.) Defining multiple AdLayout objects in code or XML is straightforward and follows the patterns described above.

For more information about handling layouts and additional tips and best practices for Mobile Ads in general, see Understanding the Mobile Ads API in the online documentation.


August 30, 2013

Mike Hines

Note: Effective 08-26-2015 Free App of the Day (FAD) has been replaced with Amazon Underground.

Amazon Mobile Ads API developer, Games2Win, Increases Earnings by 733% on Kindle Apps with eCPM up to $2.87

"The $2.87 eCPM we saw through Amazon far exceeded our expectations. Now we're racing to get Amazon integrated in all of our apps across all Android stores," says Mahesh Khambadkone, Co-Founder of Games2Win. See how Games2Win uses the Amazon Mobile Ads API to increase their earning by 733% on their Kindle Fire apps with eCPM up to $2.87. Click here for more monetization tips.

As I was reviewing our catalog of blog posts and thinking about blog posts we should write in the coming weeks, I was impressed by the number of ways Amazon helps developers monetize their apps. I thought it would be a good idea to recap those here!

Programs and Promotions


(no coding required)

(coding required)

Amazon Coins

In App Purchasing

Free App of the Day

Mobile Ads

Test Drive

Mobile Associates

Personalized Recommendations

Game Circle


A|B Testing

To learn more about the items above, please continue reading below.


No development effort is required to take advantage of Amazon’s reach.

•      In nearly 200 countries - The Amazon Appstore is available in the hottest app-buying markets in the world.

•      The only store on Fire - The Amazon Appstore is the only app store on Kindle Fire, the best selling Android Tablet worldwide.

Programs and Promotions

No development effort is required to take advantage of our programs, but you do need to sign up for Free App of the Day.

•      Amazon Coins – a virtual currency that users can get for up to a 10% discount, but still pay the developer the same as actual currency

•      Free App of the Day – Just tick the checkbox when submitting your app and you will be considered for the program.

•      Test Drive – By removing friction for customers who want to try apps, the more apps they will try. Those customers are more likely to find apps they are excited to download.  In this way, Test Drive helps customers understand the value of premium apps and helps drive downloads of freemium apps. Since Test Drive launched, it has been enabled on over 16,000 apps.

•      Personalized Recommendations – Increases the chance that your app will be seen by its most likely buyers.

Revenue Producing APIs

Development is required to make money with our APIs, and we’re working hard to make that effort as easy as possible. These are the APIs I’d like to talk about now.

In-App Purchasing (IAP): If you wish to sell digital assets like game currency or access to features or data within your app, the In-App Purchase (IAP) API has three good options for you:

Selling lasting items: If you have an app in which users need ownership of something durable, say, a new sword for their dungeon crawler character, you would use an IAP entitlement transaction. If you have a productivity app that has a set of advanced features you want to sell at a premium, you don’t need to have a free and a paid version of your app in the appstore; you need only one free version with an IAP entitlement inside to purchase access to the advanced features.

Delivering content or value over time: You could even collect $0.99 every month for the advanced features of your app if your users would rather subscribe to advanced features. For this, you would use the subscription IAP item. Access to advanced features would be available while the subscription was active, and inactive otherwise. You can also use subscription IAP items so a user can subscribe to a stream of entitled items like magazines. As long as you are subscribed, you get issues that you become entitled to even after your subscription ends.

Consumable items: If you have an app in which the user spends game currency, you would want a consumable IAP transaction. In a consumable IAP transaction, users get a set quantity of something, usually power-ups, hints, un-do actions or coins that they consume during play. Once they are out, they can buy more.

Mobile Ads: If you want to collect revenue by displaying ads on your site, then the Mobile Ads service is for you. You can display a traditional banner advertisement (anywhere on your screen above the fold), you can display expandable interactive ads, and you can even pop up large views displaying our largest ads for an interstitial ad experience.

Mobile Associates: If your app is a natural compliment for a physical good, then you will like the Mobile Associates program and API. If, for example, you have a GPS phone app, you could probably earn some revenue share income by offering hiking or outdoor-related items from the store to your customers. Your revenue-share in the Mobile Associates program varies depending on the category of the item sold, but you can use this API set to sell one item and never have the user exit the context of your app, or you can collect a rev-share on an entire shopping-cart of items that a user will purchase in the UI.

Other APIs

Okay, these APIs don’t generate revenue directly, but they are so important to generating revenue I had to find a way to get them in this post.

A|B Testing: Now you can test to see what makes more money in the real world.

Have you ever wondered if placing an In-App-Purchase dialog box at the beginning of a level or at the end of a level would result in more revenue? Now you can find out which is actually best with real users. You can test any set of conditions and successes to find the combination that is most profitable for you. And you can change the variables and the mix without having to re-submit your app. (works on all Android app stores).

GameCircle: The current version of GameCircle is free, and provides your users with saved game syncing, achievements, and leaderboards that work on most Android apps sold from any Android marketplace. The cross-store capability is nice, but the big take-away here is that games with GameCircle make 83% more average revenue per user than games that don’t.

So it turns out that there are a lot of things Amazon is doing to help you make the most from your app (documentation for the APIs can be found in our dev portal here) It’s easy to start selling your apps on Amazon. Just click here to create a free account today.

August 26, 2013

Mike Hines

Until today, developers have only had three methods to monetize their apps or games: selling them outright, going “freemium” with in-app purchasing or subscriptions, or using mobile ads. Starting now, Amazon has created a new method for developers to monetize: the Amazon Mobile Associates API, currently available for Android (including Kindle Fire). The Mobile Associates API allows developers to sell real products from the millions of items at Amazon, whether physical (i.e. toys, clothing) or digital (i.e. eBooks), from inside their apps or games while earning up to 6% in advertising fees from those purchases. The Mobile Associates API is an extension of Amazon Associates, our successful web-based affiliate program created in 1996, paying advertising fees to hundreds of thousands of affiliates worldwide.

With the Amazon Mobile Associates API, you’re now able to:

Sell a single item from Amazon in your app or game: The boss at the end of a stage in your game is a giant three-headed wolf, sell the popular “Three Wolf Moon” t-shirt from Amazon

Showcase a category of goods from Amazon in your app or game: Your app is based on improving nutrition over time, offer health-related products like vitamins, supplements, etc. or the Kindle edition of The 4-Hour Body by Tim Ferriss from within your app

Bundle a purchase of a physical product from Amazon with digital content within your app: Sell a toy version of one of the characters in your game, then automatically enable them to play as that same character

Here’s how it works: a customer initiates a purchase from within your app and is then presented with a dialog box showing the product details and cost. The customer can then complete the purchase using Amazon’s 1-Click purchasing, and then the items will be shipped directly from Amazon to the customer’s doorstep. You’ll earn up to 6% of the total purchase, added to your app distribution earnings.

Alt12 is the developer of “Pink Pad” and “BabyBump”: “Our custom solution to sell physical products within our apps took us 6 months to develop, and required complex relationships with more than 20 vendors. With the Amazon Mobile Associates API, it took us only 3 days, and provided us a better in-app shopping experience for our customers, while allowing us to offer a greater selection of products.”

Days of Wonder integrated the API into their game “Ticket to Ride”: “Customers are now able to purchase a physical expansion pack of our board game and then are delighted to get the digital version now for free. We can do this through the digital bundling functionality provided by the Amazon Mobile Associates API.”

Integration is simple. Initilize the Mobile Associates API, and tell us what you’re selling--you can choose to supply a specific set of ASINs (Amazon Standard Identification Number), search terms, or use the Amazon Product Advertising API to query a list of ASINs and product information. Then, initiate the purchase. We’ll take care of the rest!

We’ve posted a Quick Start Guide, sample code, and documentation here—start earning more with the Amazon Mobile Associates API today!


Want to learn how to integrate the Amazon Mobile Associates API? Don’t miss out on our next live webinar event: 

Mobile Associates Program: What It Is And How It Can Boost Your App Profits
on September 17th, 2013 @ 10:00 AM.
Pre-register here!


August 15, 2013

Mike Hines

Note: Effective 08-26-2015 Free App of the Day (FAD) has been replaced with Amazon Underground.

Occasionally, we'll have a developer ask if the financial benefit of participating in the FAD program is worth it. Will it help them ultimately grow their app revenue?

Below is a guest post by Tasharen Entertainment, a small independent developer in Toronto that created Starlink – a strategy game – available in the Amazon Appstore, Google Play and the Apple App Store. They recently issued a blog post highlighting their success with the Free App of the Day program and we thought we’d share it with you.  It’s always compelling to see a developer try something new, measure the actual results across several app stores and find out their test was successful. The article was originally posted on Tasharen’s blog post here.

Starlink has recently participated in the Free App of the Day promotion on the Amazon App Store. Before joining the promotion I did my research, and saw that there was some controversy about it, but I went for it anyway. Two weeks later, I am happy to share the results.

With Starlink being a rather obscure strategy game released with zero marketing a few months ago, its player base has been expectedly small: of the 2500 players before the promotion, around 80% were pirates who got it for free. Number of daily players was around 100 — which was actually a fairly high percentage, all things considered. The sales died down quickly after the release. I think the “best” day earned around $65 in sales, but the average daily income since release has been around $10 — a rather sad amount. Nonetheless, factoring the fact that Starlink is a first game I’ve released on the mobile platforms, and that an average first-time release is only expected to earn around $500 during its lifetime, Starlink’s ~$1400 lifetime income was actually already ahead of the curve.

Enter the Amazon’s Free App of the Day promotion. The process was started by Amazon themselves who got in touch with me and asked if I’d be interested — I said of course. After some emails back and forth, the date was assigned: July 19th — a Friday. Perfect for a game!

On that day, over 102,000 players have downloaded the game. North American rating of the game averaged at 3.5/5, with the majority being along the lines of “I don’t get it”, complaining about the sparse tutorial and the game being too difficult even on the beginner difficulty. Curiously enough, Japanese players rated the game 4.5/5.0 (over 7500 downloads). Apparently Japanese players had an easier time understanding an English-language game than native English speakers!

After the promotion I wanted to wait two weeks to see the effect the promotion would have on the sales of the game on all of the platforms it was available on. Now, keep in mind. I myself did nothing. I didn’t say the app would be promoted, didn’t release any news about it, no new videos, nothing! I wanted to see the raw effect the promotion would have. Some of you may go “wtf” at this, but keep in mind — Starlink for me is, and always has been — an experiment. My goal has never been to make it the next Angry Birds, but to experiment with the different platforms, methods of monetization, cross-promotion, etc.

So here is the raw effect of the promotion. Before the 19th, the statistics looked like this:

  • Amazon sales: 3 units per week
  • Google sales: 5 unit per day
  • iOS sales: 1 unit per day
  • Daily players: ~100

Two weeks later, the statistics seem a lot healthier:

  • Amazon sales: 34.5 units per day (almost 8,000% increase)
  • Google sales: 22 per day (340% increase)
  • iOS sales: 10.2 per day (920% increase)
  • Daily players: 2,041 (almost 2,000% increase at exactly 2 weeks after promotion)

Total estimated income for the 2 week period immediately following the promotion: $1,385, or almost the same amount of money they game has earned in the 3 months leading up to the promotion.

  • $646 from Amazon
  • $464 from Google
  • $186 from iOS
  • $69 from Desura
  • $20 from PayPal

So the obvious question is — from my point of view, was the promotion worth it?

And the answer is a resounding “Yes“! And if you are an indie dev who’s considering participating in the Amazon’s Free App of the Day, here’s a small suggestion for you: don’t concern yourself with the players who will obtain your game for free. Instead, think of all the players that will follow and will buy your game based on the attention it will receive and the word-of-mouth talk that will follow.

Or in other words, think of it as free marketing done right.

Thanks, Amazon!

If you have an interesting story or experience to share with other developers through a guest post on our blog, email us at mobile-app-marketing(at) for consideration.

August 05, 2013

Mike Hines

In previous posts, we’ve touched on the eCPM benefits and ease of implementation of the Amazon Mobile Ads service. But easy to implement doesn’t mean inflexible. We’d like to cover some easy ways you can do Ad Targeting.

In addition to being able to specify the ad unit size, there are a number of targeting options you can include in the request that's sent to the Amazon Mobile Ad Network.

The properties you can send to get more accurately targeted ads are:






 [this will return current lat/long position to Amazon, and you must declare  coarse_location and fine_location in you permissions request.]



For example, to get ads that are better suited to 35 year-old males in the use’s specific region, do the following:

public void onCreate(Bundle savedInstanceState) {
    AdTargetingOptions adOptions = new AdTargetingOptions();


Easy, isn’t it.

You can also customize the floor price for the ads you receive. For example, if you want to get ads that will pay no less than $0.85 per thousand ads returned, you can do that by setting Advanced Option “ec” to 850000 micro-dollars.

For example, add the following line to the example above:

adOptions.setAdvancedOption(“ec”, “850000”);

and you will only get ads with CPM => $0.85. 

Note: The Amazon Mobile Ad Network is designed to maximize your revenue opportunity at the default setting. Setting a floor price may limit your revenue potential as it might prevent several paid campaigns from running on your placement. Amazon recommends not setting this value.

You can also specify a list of advertiser names, advertiser product categories, or URLs that aren't appropriate for your customers. Use the restrictions page under the Settings menu item in your dev portal. Please note that blocking ads may negatively impact your revenue and fill rates, and restrictions currently apply to all of your apps with ads. 

How do you see your results? That’s easy too. Check it out on the Mobile App Distribution Portal Dashboard (your dev portal home page), or by clicking on Reporting and selecting either Mobile Ads Performance to see:

  • Requests
  • Impressions
  • Fill rates
  • Click-through rates (CTR)
  • Revenue per thousand impressions (RPM)
  • Earnings


Or you can click on Mobile Ads Payments to see payments dispersed.

We’re happy that we’ve been able to make targeting Amazon Mobile Ads easy and straightforward. Click here to see the Mobile Ads API video and to get the Mobile App SDK. We hope you’ll give it a try in your app today.


July 31, 2013

Daniel Winner

On July 9th, the Amazon Apps UK team was very pleased to present at Develop Brighton, one the leading events for the burgeoning UK games community, attended by over 1,600 games industry professionals from CEO’s to Student developers.

On one of the hottest days of the year, Matt Hatherly from the UK Apps team and I enjoyed meeting so many games developers the Hilton Metropole, at the Hotel Du Vin and on Brighton’s famous beach.

During our presentation we took the opportunity to share insights on how to develop, market and monetize mobile games that use In App Purchasing. 

The theme of our talk was that Games publishing is evolving from an art to a science, as so much more data is now available. We shared a number of tips & insights on how to monetize Freemium games, including:

1.     The more time you can keep customers engaged the more money you’ll make.

  • If you create a purchasing hook early on in the game you will take advantage of customers who want to spend on day one
  • Give customers a reason to come back by providing lots of content, depth and regular updates – Customers that come back, come back time and again and carry on spending not only days but weeks after the first download

2.     Finessing your range, selection and pricing of IAP items and the way you communicate to customers makes a big difference to monetization.

  • The more IAP items you offer for sale, the more orders you will get
  • Games with tutorials monetize much better than those without
  • The way you merchandise IAP items also makes a big difference – if you merchandise IAP items like a catalogue (with tiles for each item) your app will monetize better

Thousands of UK based game developers have added their Apps to the Amazon Appstore, including hit Freemium titles from Developers including New Star Games (New Star Soccer), Endemic ( Plague), Stick Sports (Stick Sports Cricket), and we look forward to welcoming many more to the store. 

The UK team will be participating in more Developer events during the course of the year and we hope to connect with more of the UK Games community then.


July 24, 2013

Peter Heinrich

Amazon Mobile Ads

Today, we announced the general availability of the Amazon Mobile Ads API which gives you the ability to earn great eCPM by monetizing your app with mobile ads from the Amazon Mobile Ad Network.                                                     

eCPM is the amount you earn for each 1,000 ads you display in your app. Higher values are obviously better, and we’ve seen the average eCPM for the Amazon Mobile Ad Network rise 30% since its beta launch in March.  Early adopters like Games2Win have already discovered our great monetization solution for banner ads.

‘The $2.00 eCPM we saw from Amazon far exceeded our expectation. We tested Amazon in our Kindle app first. Now we’re racing to get the Amazon ads integrated in all of our apps across all Android stores.’ says Mahesh Khambadkone, Co-Founder of Games2Win.

Starting today, the Amazon Mobile Ads API will be included as part of our Amazon Mobile App SDK. Developers who integrate the Amazon Mobile Ads API into apps they offer through Amazon may also distribute these apps using the API through any other Android platform.

To provide extra incentive to incorporate the Amazon Mobile Ads API into your apps (as if great monetization and ease of use weren’t enough), Amazon is offering a free Kindle Fire HD to developers who integrate our API in the next few weeks. All you have to do is submit your API-enabled app between July 25th and September 1st and send at least 500 ad requests to the Amazon Mobile Ad Network every week between September 15th and October 19th. (See terms and conditions below.)

We’re excited to share the success of the Amazon Mobile Ads API and encourage you to consider including the API in your next application. For more information, see the online documentation or our quick start guide.


Terms and Conditions of Kindle Fire HD Offer:

  • To qualify for a free Kindle Fire HD, 7” display, 16 GB, with special offers, app developers must meet all of the terms and conditions of this offer.
  • This offer begins at 12:01 a.m. (PT) September 15th, 2013 and ends at 11:59 p.m. (PT) October 19th, 2013 (the “Offer Period”). 
  • A “Qualifying App” is any mobile app that has integrated the Amazon Mobile Ads API and is submitted to the Amazon Mobile App Distribution Portal between and including July 25th and September 1st, 2013. Apps that have sent ad requests to Amazon using the Amazon Mobile Ads API prior to July 25, 2013 are not Qualifying Apps.
  • A developer’s Qualifying Apps must send at least 500 ad requests every week during the Offer Period.  (Each week begins at 12:01a Sunday and ends at 11:59p Saturday.)  This offer is only open to developers who send the required number of ad requests for the entire Offer Period.
  • A developer may use a single Qualifying App or multiple Qualifying Apps to generate the 500 weekly ad requests as long as the Qualifying Apps are registered to a single developer account.
  • Limit one free Kindle Fire HD device per developer.
  • Offer good while supplies last.
  • Qualifying Apps must meet the Mobile Ad Network Program Participation Requirements.
  • Developers must agree and adhere to the Program Materials License Agreement and the Mobile Ad Network Publisher Agreement to qualify for this offer.
  • Qualifying developers must be reachable through the email addresses registered on the Distribution Portal.
  • Amazon will attempt to ship the Kindle Fire HD device to qualifying developers in the U.S. and other countries.  However, Amazon is not responsible for customs or taxes required for international deliveries.
  • Amazon reserves the right to modify or cancel this offer at any time in its discretion.
  • This offer is void where prohibited.


July 17, 2013

Peter Heinrich

Some of the most exciting feedback that we’ve heard from developers is the fact that paid apps are a bigger percentage of total downloads on the Amazon Appstore than on Google Play. The latest great example is from Zinkia in Spain.

Zinkia is the creator of entertainment brands such as Pocoyo, a popular kids' character in Spain. Zinkia's goal is to develop global brands on all mobile app platforms.

When we told Zinkia that Amazon Appstore was already available in Spain, they immediately decided to submit their “Pocoyo” apps. One of the factors in their decision was the low cost to get from other Android marketplaces to the Amazon marketplace. However, they didn’t have high expectations in terms of revenue because of how new the Amazon Appstore is in Spain.

Zinkia was pleasantly surprised, however, when they saw the first results in March: in absolute terms, their paid apps made almost the same money on Amazon Appstore as on other Android platforms.

Compared to other Android application stores, for Zinkia, the Amazon Appstore has a much higher proportion of paid downloads, which accounts for this positive result. When downloading “Talking Pocoyo” from Tienda Apps, for example—a game with free and paid versions—customers purchased the paid version more than 15% of the time, compared to less than 1% on other Android app stores. So while Amazon Apps is still ramping up the total volume of downloads for Spanish developers, it already leads to impressive paid vs free app downloads.

Why do customers using the Amazon Appstore purchase paid apps at a higher rate than in other Android app stores? It’s because of  the Amazon Appstore includes popular Amazon features like personalized recommendations, Customer Reviews, 1-Click payments and the fact that Kindle Fire devices purchased from Amazon are pre-registered.

% of paid (Pro) and free downloads of Talking Pocoyo


July 02, 2013

Daniel Winner

UK Developer Meetup

The UK Amazon Mobile App Distribution Program team was delighted to host its first developer meet-up for London’s thriving tech community with the outstanding team at The Skills Matter Exchange in Clerkenwell. Developers and publishers P2 Games, Deluxe Media Europe, Miniclip, and Future Games of London provided insight into the strategies that have made them successful. They shared a lot of fantastic tips on how to design, build, and distribute apps and games in the UK (and the nearly 200 other countries we support worldwide).

Peter Sleeman, Director of P2 Games, was first to break cover in what was to become an insightful and energetic Q&A session. For Peter, creating great digital content is the first key to success.

“At P2 Games, we hold the license for Peppa the Pig, but even if you don’t hold the license for a popular character, content is king. Build a great app or game with great content and customers will discover it.”

So once you have a great app, what next? You might get 5-star reviews and your Twitter feed might be blowing up with the buzz, but developers don’t work pro bono, right? Well, Henry Bennett from Deluxe Media Europe, makers of seminal British TV show apps Catch Phrase and Bullseye, has good news.

“Amazon is a key distribution platform for our apps. The platform offers our apps high visibility in terms of promotional space along with very good monetization. Amazon has now become our second most profitable distribution platform.”

Quick to second this was Saad Choudri of Miniclip fame, creators of Extreme Skating HD, Fragger, and iStunt. He said:

“Amazon has been a strong partner for Miniclip. The revenue return we have seen through Amazon means that it is important for developers to consider Amazon in their launch strategy.”

Future Games of London, makers of the successful Hungry Shark series, were represented by Ian Harper. Ian discussed what’s required technically to generate revenue, highlighting the Amazon platform because it monetizes well and is easy to develop for. Besides supporting standard Android apps, it also provides a suite of developer tools.

“Amazon offers excellent developer tools, robust APIs, and strong monetization”.

Once the formalities had concluded, we ensured everyone had some food and a refreshing beverage. Ninety minutes of frenzied networking ensued, with the good and the bad, the wise and the young furiously chomping down on some excellent pizza, swigging beer, and trying to find a spare hand to pass a business card whenever possible. This was briefly interrupted for the moment that everyone had been waiting for… drum roll… and the winner is… “Would Tom Mleko of like to make his way to the stage? You are the lucky winner of a Kindle Fire HD 8.9”.

We’ll be doing plenty more of these events and look forward to seeing you there soon!

May 16, 2013

Mike Hines

Amazon Mobile Ads

The Amazon Mobile Ads API now includes the Auto Ad Size feature, which automatically selects the appropriate ad size to display based on the user's device and your app’s ad layout. Auto Ad Size significantly reduces integration and testing time for each app, and it provides a better user experience.

If you're working on updating your app, be sure to download the latest version of the Amazon Mobile Ads API, integrate the API into your app (technical documentation), and submit your app to Amazon and any other Android stores where your app is available. You can also view our introduction video. (This API is not included in the bundled SDK)

Steps to integrate:

  1. Sign in to your Distribution Portal account. If you do not already have one, you will be prompted to create an account.
  2. Submit your payment and tax information. (Skip this step if you have already submitted this information)
  3. Get an Application Key by clicking on your app under My Apps or adding a new app.
  4. Download and integrate the Amazon Mobile Ads API. Submit your app for approval.


    Want the latest?

    appstore topics

    Recent Posts