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

Amazon Developer Blogs

Showing posts tagged with Mobile

August 07, 2012

Lauren Stark

One question developers commonly ask us is how they can grow their business by introducing their app to new Amazon customers. The Amazon team is here to help. Each day this week we’ll offer a tip on how to market your app on Amazon.

Marketing Tip #2: Submit your app to our marketing team for consideration for a featured marketing placement. 

 

We constantly strive to introduce Amazon customers to new apps they’ll love, thus helping our developers grow their businesses. We highlight apps through our storefronts on mobile devices, Kindle Fire, and Amazon.com and through marketing vehicles like e-mail, Facebook, and Twitter.  For example, as I write this, featured placements include “Highly Rated Apps and Games” and “Featured New Releases,” and your app would be considered for these placements as applicable.  Your app may also be considered for seasonally relevant placements like summer travel, back to school, or learning apps.

If you are interested in a featured placement through our marketing vehicles, we invite you to tell us more about your mobile app by completing our marketing request form available through the Amazon Mobile App Distribution Portal

Follow these steps to complete the form:

1) Check the Amazon Specific ID Number (ASIN) for your app on the Amazon.com site.

 

ASIN

2) Navigate to the marketing section of the FAQ page. 

 

FAQ Screen shot (2)

3) Click the link to the form available under the question “How do I get my app marketed?” 

 

Marketing FAQ v2

4) Submit information about your app for our consideration by filling out the form.  Please include the ASIN number you recorded from the Amazon.com site. 

 

Request Form
 

August 06, 2012

lisamar

One question developers commonly ask us is how they can grow their business by introducing their app to new Amazon customers.  The Amazon team is here to help. Each day this week we’ll offer a tip on how to market your app on Amazon. 

Marketing Tip #1:  Start with your best foot forward.  Write an effective app title and description.

 

The title and description of your app is a key opportunity to impress potential customers.  By writing an effective description, you can generate excitement about your app and increase the number of customer downloads of your app.  This is your chance to sell your app to customers! 

Title

The title is the first thing a customer sees and may even be the term they searched on. It appears at the very top of the product detail page, right above your company name.

  • Keep it simple. Don’t include extraneous marketing verbiage such as “MyAppTitle – the best most greatest app in the whole wide world and beyond!!!!!!!!”
  • Make it readable. Unless your app has special capitalization (PicSay, SwiftKey, SeekDroid), capitalize the first and last words of the title, no matter what part of speech. Between those words, capitalize each word except for coordinating conjunctions (and, but, or, nor, and for), articles (the, a, an), and prepositions of four or fewer letters.
  • Be concise. No more than 100 characters—it’s a title, not a Tweet!
  • Be clear. If your app has multiple versions, let your customer know by calling it out in the title (e.g., Premium, Pro, Lite, Donate, Free).

Description

The description provides you the opportunity to sell your customer on downloading/purchasing your app.   Consider your audience. Who is your app’s target customer? Make sure the customer knows you are speaking to their interests.  What is your app’s point of differentiation? What are the key features of the app? Let customers know why this app is special and something they would enjoy or need.

 

Check out the recommendations we shared with you last year here on the blog for writing an effective description.

Do:

 

  • Always use proper punctuation and grammar.
  • Introduce your app clearly and succinctly.
  • Describe your app's most notable features. 
  • Use conversational language.
  • Think about your target customer and highlight features that will appeal to that customer.
  • Explain how and why your app will benefit users.
  • Show off—don't forget to include the attributes that make your app stand out and feel free to do so in detail.

Don't:

  • Refer to your app only as "this app" or "an app"—use your app's full name at least once in your product description
  • Make false, hyperbolic claims—this type of marketing rarely works and may hurt your app in the long run
  • Just write one single sentence—there's more to your app
  • Simply list your app's features, explain why these features are awesome and worth adding to a customer’s app collection
  • Exercise atypical or inappropriate language that could mislead or confuse customers
  • Use excess punctuation that could distract from the information you are conveying.

 

Editing App Descriptions from the Distribution Portal

1) To edit your app description from the Amazon Mobile App Distribution Portal, navigate to the My Apps tab. 

My Apps

2) Select the app you'd like to edit and navigate to the Description tab for that app.

Description Tab

3) Edit your app description and save it.

Edit Description
 

June 19, 2012

Amazon Mobile App Distribution Program

We’re pleased to announce that you can now submit apps for distribution in the United Kingdom, Germany, France, Italy, and Spain, using the Amazon Mobile App Distribution Portal. We’ll begin distributing apps in these countries later this summer (and we have more countries planned in the near future). 

The Amazon Appstore in the U.S. has had a very successful year with millions of customers discovering and downloading apps and games. We continue to welcome new developers onto our platform, and since launch, we’ve grown to tens of thousands of apps—with more coming every day. Our recently launched In-App Purchasing API is already helping developers like Mobile Deluxe, G5 Entertainment, and Social Gaming Network delight their customers and generate significant revenue. Amazon now offers developers the opportunity to experience similar success with app sales outside the U.S.

Now is a great time for new developers to sign up and become familiar with the program. You have the ability to select the countries where you would like your apps to be sold and set your list prices by marketplace. If you are already participating in the program, your apps will automatically be made available for sale internationally by default. And you can easily change international availability for your apps via the Distribution Portal if your apps should not be sold in select countries. Developers allowing Amazon to sell apps internationally are responsible for ensuring their apps comply with all applicable export and import restrictions and the laws of the countries in which the apps are sold.

Though Amazon will not require apps to support multiple languages, we encourage you to consider localizing your apps with language translations and to think of creative ways to deliver great experiences to your international customers. Just as in the U.S., if you sell apps in the U.K., Germany, France, Italy, and Spain, you will benefit from Amazon’s trusted 1-Click purchasing as well as the easy-to-integrate In-App Purchasing API.

Today we are also announcing two changes to the Amazon Mobile App Distribution agreement. First, building on the success of the April In-App Purchasing Service launch, and to simplify our global terms, Amazon will be aligning the revenue share for paid apps with that for in-app products sold using Amazon’s In-App Purchasing Service. Starting July 1, you will earn 70% of list price on each paid app sale. This is a change from the prior terms under which you earned either 70% of the app’s sales price or 20% of list price (whichever was greater). To put it differently, starting in July, you’ll receive 70% of the list price for all sales, regardless of whether you monetize your apps up front (paid apps) or downstream (using our In-App Purchasing Service).  

Second, we will be adapting the terms of the distribution agreement to provide more flexibility around timing for app submissions. You will now control which apps you will make available to Amazon customers, and when, as well as the countries in which your apps may be sold. As a reminder, it’s your responsibility to ensure your list prices do not exceed the lowest prices at which your apps and in-app products are sold in similar stores. To review the full agreement, including the two changes described above, please follow this link.

If you don’t already have a developer account, it’s easy to join and we’ve waived the annual fee for 2012  it’s free to register for a developer account. Sign up now, and start submitting your apps for international distribution later this summer!

We’re pleased to announce that you can now submit apps for distribution in the United Kingdom, Germany, France, Italy, and Spain using the Amazon Mobile App Distribution Portal.  We’ll begin distributing apps in these countries later this summer (and we have more countries planned in the near future).   

 

June 08, 2012

Amazon Mobile App Distribution Program

Over six weeks after launching the Amazon In-App Purchasing API for general availability, we connected with Jeff Spears, VP of Marketing & Sales, and Sean Thompson, VP of Production, Mobile Deluxe, to chat about their company’s experience with IAP on Amazon. Headquartered in Santa Monica, Calif., Mobile Deluxe is an innovator and publisher of social mobile apps and provides free-to-play casual games that emphasize premium quality and fun game play. Mobile Deluxe titles include Big Win Slots, Solitaire Deluxe, and Big Win Blackjack. 

What motivated Mobile Deluxe to integrate with Amazon’s In-App Purchasing solution?

"Mobile Deluxe is bullish on Amazon’s foray into the app space given its expertise in merchandising, coupled with the ease of 1-Click purchase. As an organization, we made the shift from pay-to-download to free-to-play in April 2010, and our free revenues eclipsed paid revenues by July of 2011. As an industry, freemium revenues are forecasted to reach $5B in 2016, driven by smart phone adoption and user comfort with the IAP model. As a publisher we like  the freemium model since it eliminates the barrier of entry into our game, and it allows players to enjoy our products regardless of their style of play. You can either “earn” currency through game play, or purchase currency at your discretion to accelerate your game as you see fit. While we support both styles of play, from a business perspective we aren’t capping potential earnings in the latter example."

What is your monetization strategy?

"Big Win Slots monetizes through IAP, whereas Solitaire Deluxe and Big Win Blackjack use a hybrid monetization model that uses IAP and Ads. For Solitaire Deluxe, the majority of our revenue is derived from advertising, allowing our customers to play for free, unlimited. This has led to outstanding engagement and retention, and our average play time for users is in excess of 30 minutes. For Big Win Slots and Big Win Blackjack, we felt the natural progression of currency in casino apps made great sense. IAP allows us better control over our revenue stream versus fluctuating advertising CPM’s in an ad-based product, and it allows for flexibility in merchandising opportunities such as in-game sales events."

How has your experience with Amazon’s IAP solution compared to that on other platforms?

"When making an apples-to-apples comparison in May to competitive app stores, Amazon is our #1 monetizing channel in terms of $/DAU. I’m sure you’re aware of the Flurry release stating “revenue from Amazon’s Appstore is now at 89% of iTunes App Store revenue” here. We find that our Amazon $ per Daily Active User exceeds the average on other top storefronts where our apps are distributed by 87%. This speaks to the frictionless 1-Click option and Amazon’s merchandising prowess which drove “Big Win Slots” to the #1 spot in the “Casino” category."

How did you find integrating the Amazon SDK and IAP API?

 "Integration was exactly what we expected. We started from a baseline of already having integrated Google Checkout, so it was very easy to extend our existing functionality to include Amazon IAP. Amazon’s online resources were excellent. The “In-App Purchasing for Users of Google Billing” document was the perfect guide to help us get Amazon IAP integrated quickly. The API Reference was also helpful. Without question, this has been an ROI-positive experience for us. The total integration cost was about what we make in one day with Big Win Slots now."

Are there any tips you have to help other developers smoothly integrate the SDK?

"We recommend developers be forward looking when integrating any billing SDK. If at all possible, create an abstracted billing interface layer between your app(s) and the billing SDK. That will allow you to implement additional billing SDKs without having to make changes deep inside your project code. That means it is an easy tweak to add both Google and Amazon IAP solutions."

May 10, 2012

Amazon Mobile App Distribution Program

Jeff Hines, Kindle Fire test team, and Chirag Mehta, Manager, a2z Developer Center Inc., an Amazon.com company, are our bloggers for this post. 

 

This post is the first in a series detailing the top 10 optimizations to improve your app on Kindle Fire. These posts are designed to provide you with solutions, sample code, and the opportunity to address common issues that can arise as you optimize your app for Kindle Fire.

 

The first topic in this series reviews one of the most frequently asked questions when developing on Kindle Fire: “My app is not optimized to interact with Kindle Fire Quick Settings, what can I do to provide a better customer experience?”

 

What do the Quick Settings do?

 

The Quick Settings feature is unique to the device and provides Kindle Fire owners with a host of easily accessible options, including Volume, Brightness, Wi-Fi, and more. The image below shows the Quick Settings feature and its location on the device. Like the soft key bar, the Quick Settings feature is visible at all times, including when your app is running. When optimizing for Kindle Fire, your app should account for users accessing the Quick Settings bar at any time while your app is running.

  Part_I_edit
 

How should your app interact with Quick Settings?

 

Invoking the Quick Settings feature should not affect the app or its current state. Some apps, like most games, should simply pause. Other apps that are more static in nature, and rely on user interaction to change state, can simply run in the background.

 

How should apps not optimized for Quick Settings behave?

 

If your app is not optimized for Kindle Fire and does not take into account a user interacting with the Quick Settings bar, the following scenarios could result:

 

  • Your app could force close or become unresponsive
  • Your app’s state or user save data may become lost or reset
  • Your app’s video or audio may become reset or interrupted
  • Your app may enter an unrecoverable state such as perpetual loading or black screen
  • Your app continues to actively run and does not enter a paused state

 

How do I optimize for Quick Settings?

 

The following code snippets (based on a set of sample apps) show you how you can optimize your app for the Quick Settings feature.

 

This sample code shows how your app could pause if a user invokes the Quick Settings. The code saves the label position on screen, and save the score. The onPause() call is highly recommended, as it ensures your app saves its state.

 

protected void pause() {

 

                   final Editor editor = m_state.edit();

editor.putLong("xMove", m_xMove);

editor.putLong("yMove", m_yMove);

editor.putLong("xPos", m_xPos);

editor.putLong("yPos", m_yPos);

editor.putLong("score", m_score);

editor.commit();

 

 // Stop the animation thread.

 if (m_animationThread != null) {

     m_animationThread.setRunning(false);

     m_animationThread = null;

    }

}

 

This sample code shows how your app could resume after a user leaves the Quick Settings.  The code initializes a label, determines its position on screen, and displays the score.  The onResume() call is highly recommended, as it ensures your app resumes its state.

 

protected void resume() {

 

m_paint = new Paint();

m_random = new Random();

m_state = m_context.getSharedPreferences("UserState", Context.MODE_PRIVATE);

m_xMove = m_state.getLong("xMove", DEFAULT_X_MOVEMENT);

m_yMove = m_state.getLong("yMove", DEFAULT_Y_MOVEMENT);

 // Set initial position of the score to the center of the screen.

m_xPos = m_state.getLong("xPos", this.getWidth() / 2);

m_yPos = m_state.getLong("yPos", this.getHeight() / 2);

m_score = m_state.getLong("score", DEFAULT_SCORE);

 

 // Start the thread if it has been previously stopped. 

if (m_animationThread == null) {

m_animationThread = new AnimationThread(getHolder(), this);

m_animationThread.setRunning(true);

m_animationThread.start();

}

}

 

 

Many games having actively running animations and it’s essential to pause and retain animation state when a user invokes the Quick Settings.

 

public class PausingAnimationSampleActivity extends Activity {

 

  /** Reference to the content view, used to pause and resume the animation */

  private AnimationPanel m_panel;

 

  /** {@inheritDoc} */

  @Override

  public void onCreate(final Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

 

    m_panel = new AnimationPanel(this);

    setContentView(m_panel);

  }

 

  /** {@inheritDoc} */

  @Override

  protected void onStart() {

    super.onStart();

  }

 

If your app pauses its animations sequences using the sample above, you can resume the animation sequence using the sample code below.

   

  @Override

  protected void onPause() {

    super.onPause();

    m_panel.pause();

  }

 

  /** Restore the user's state when returning to the application */

  @Override

  protected void onResume() {

    super.onResume();

    m_panel.resume();

  }

 

  /** {@inheritDoc} */

  @Override

  protected void onStop() {

    super.onStop();

  }

 

}

 

 

See the Amazon App Developer FAQ if you have more questions.

 

This is only the first of ten optimizations in our new series, so be sure to check back for our next post on layout and the soft key bar!

Top 10 App Optimizations for Kindle Fire – Part I

This post is the first in a series detailing the top 10 optimizations to improve your app on Kindle Fire. These posts are designed to provide you with solutions, sample code, and the opportunity to address common issues that can arise as you optimize your app for Kindle Fire.

The first topic in this series reviews one of the most frequently asked questions when developing on Kindle Fire: “My app is not optimized to interact with Kindle Fire Quick Settings, what can I do to provide a better customer experience?”

What do the Quick Settings do?

 

The Quick Settings feature is unique to the device and provides Kindle Fire owners with a host of easily accessible options, including Volume, Brightness, Wi-Fi, and more. The image below shows the Quick Settings feature and its location on the device. Like the soft key bar, the Quick Settings feature is visible at all times, including when your app is running. When optimizing for Kindle Fire, your app should account for users accessing the Quick Settings bar at any time while your app is running. 

 

 

 

 

 

How should your app interact with Quick Settings?

 

Invoking the Quick Settings feature should not affect the app or its current state. Some apps, like most games, should simply pause. Other apps that are more static in nature, and rely on user interaction to change state, can simply run in the background. 

How should apps not optimized for Quick Settings behave?

 

If your app is not optimized for Kindle Fire and does not take into account a user interacting with the Quick Settings bar, the following scenarios could result:

 

·         Your app could force close or become unresponsive 

·         Your app’s state or user save data may become lost or reset

·         Your app’s video or audio may become reset or interrupted

·         Your app may enter an unrecoverable state such as perpetual loading or black screen

·         Your app continues to actively run and does not enter a paused state

 

How do I optimize for Quick Settings?

 

The following code snippets (based on a set of sample apps) show you how you can optimize your app for the Quick Settings feature.

This sample code shows how your app could pause if a user invokes the Quick Settings. The code saves the label position on screen, and save the score. The onPause() call is highly recommended, as it ensures your app saves its state.

 

protected void pause() {

 

                   final Editor editor = m_state.edit();

editor.putLong("xMove", m_xMove);

editor.putLong("yMove", m_yMove);

editor.putLong("xPos", m_xPos);

editor.putLong("yPos", m_yPos);

editor.putLong("score", m_score);

editor.commit();

 

 // Stop the animation thread.

 if (m_animationThread != null) {

     m_animationThread.setRunning(false);

     m_animationThread = null;

    }

}

 

This sample code shows how your app could resume after a user leaves the Quick Settings.  The code initializes a label, determines its position on screen, and displays the score.  The onResume() call is highly recommended, as it ensures your app resumes its state.

 

protected void resume() {

 

m_paint = new Paint();

m_random = new Random();

m_state = m_context.getSharedPreferences("UserState", Context.MODE_PRIVATE);

m_xMove = m_state.getLong("xMove", DEFAULT_X_MOVEMENT);

m_yMove = m_state.getLong("yMove", DEFAULT_Y_MOVEMENT);

 // Set initial position of the score to the center of the screen.

m_xPos = m_state.getLong("xPos", this.getWidth() / 2);

m_yPos = m_state.getLong("yPos", this.getHeight() / 2);

m_score = m_state.getLong("score", DEFAULT_SCORE);

 

 // Start the thread if it has been previously stopped. 

if (m_animationThread == null) {

m_animationThread = new AnimationThread(getHolder(), this);

m_animationThread.setRunning(true);

m_animationThread.start();

}

}

 

 

Many games having actively running animations and it’s essential to pause and retain animation state when a user invokes the Quick Settings.

 

public class PausingAnimationSampleActivity extends Activity {

 

  /** Reference to the content view, used to pause and resume the animation */

  private AnimationPanel m_panel;

 

  /** {@inheritDoc} */

  @Override

  public void onCreate(final Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

 

    m_panel = new AnimationPanel(this);

    setContentView(m_panel);

  }

 

  /** {@inheritDoc} */

  @Override

  protected void onStart() {

    super.onStart();

  }

 

If your app pauses its animations sequences using the sample above, you can resume the animation sequence using the sample code below.

   

  @Override

  protected void onPause() {

    super.onPause();

    m_panel.pause();

  }

 

  /** Restore the user's state when returning to the application */

  @Override

  protected void onResume() {

    super.onResume();

    m_panel.resume();

  }

 

  /** {@inheritDoc} */

  @Override

  protected void onStop() {

    super.onStop();

  }

 

}

 

 

This post is the first in a series detailing the top 10 optimizations to improve your app on Kindle Fire. These posts are designed to provide you with solutions, sample code, and the opportunity to address common issues that can arise as you optimize your app for Kindle Fire.

The first topic in this series reviews one of the most frequently asked questions when developing on Kindle Fire: “My app is not optimized to interact with Kindle Fire Quick Settings, what can I do to provide a better customer experience?”

What do the Quick Settings do?

 

The Quick Settings feature is unique to the device and provides Kindle Fire owners with a host of easily accessible options, including Volume, Brightness, Wi-Fi, and more. The image below shows the Quick Settings feature and its location on the device. Like the soft key bar, the Quick Settings feature is visible at all times, including when your app is running. When optimizing for Kindle Fire, your app should account for users accessing the Quick Settings bar at any time while your app is running.

See the Amazon App Developer FAQ if you have more questions.

 

This is only the first of ten optimizations in our new series, so be sure to check back for our next post on layout and the soft key bar!

April 25, 2012

Amazon Mobile App Distribution Program

Providing a link directly to the Amazon Appstore for Android from within your app is an effective tool for promoting your apps. This type of link is referred to as a deep link and can be used for several purposes including:

  • Linking to the paid version of your app on the Amazon Appstore for Android
  • Linking to another one of your apps on the Amazon Appstore for Android
  • Linking customers to the Amazon Appstore for Android to write a review

Getting Started

The Amazon Appstore for Android will automatically pick up on specially formatted links through the use of Android Intents. These are referred to as "deep" links. You have two options for providing a deep link.

Option 1: Link to the Amazon Retail Website

This type of link will be picked up by the Amazon Appstore for Android as well as any installed browsers on the device. The base URL is as follows:

http://www.amazon.com/gp/mas/dl/android?

Option 2: Link directly to the Amazon Appstore for Android

This specially formatted link is the preferred method and will directly open up the Amazon Appstore for Android. The base URL is as follows:

amzn://apps/android?

 

Link Configuration

Both deep link formats accept parameters to tailor the link result.

Parameter Description Amazon Client Example Amazon Retail Web Example
s= Add a search term. Please note that you would have to use URL Encoding for special characters (e.g. spaces). amzn://apps/android?s=amazon%20mp3 http://www.amazon.com/gp/mas/dl/android?s=amazon%20mp3
p= Link to the detail page for a specific package name. amzn://apps/android?p=com.amazon.mp3 http://www.amazon.com/gp/mas/dl/android?p=com.amazon.mp3
asin= All apps in the catalog have a unique identifier known as an ASIN. Use this identifier to link directly to an app by its ASIN. The ASIN for an app can be found on its detail page. amzn://apps/android?asin=B004FRX0MY http://www.amazon.com/gp/mas/dl/android?asin=B004FRX0MY
showAll=1 Show all apps by the developer of the app corresponding to the specified package name or ASIN (requires “p” or “asin” arg) amzn://apps/android?p=com.amazon.mp3&showAll=1 http://www.amazon.com/gp/mas/dl/android?p=com.amazon.mp3&showAll=1

 

April 24, 2012

alexbow

Weeblets is a new app developer, producing and distributing family-oriented mobile apps based on licensed animated videos.  They launched their first app, VeggieTales Spotisode Collection, as an Amazon Appstore for Android exclusive in early March.  “We knew we’d have the best chance for a successful launch if our app, which melds VeggieTales videos with the Weeblets gaming experience, could be merchandised alongside other VeggieTales products, where the fans already were,” said Weeblets CEO Adam Somer.  “With the promotion Amazon provided us for the exclusive, which they over-delivered on, we knew that it was the best decision we could make.”

Did the launch of your app perform to your expectations?


Somer:  This was our first release, so we set our install targets based on research and the stories we’d heard from the many developers we’d talked to during our planning. The launch wildly exceeded our expectations.  Amazon made sure that parents who knew VeggieTales already--and parents who might not yet know, but would likely love VeggieTales--found our app.  We could have made the best app in the world and used the most popular cartoon ever and still failed if we couldn’t get it to the fans.  Discovery is a real problem for developers, and the Amazon exclusive took that problem away and allowed us to focus on the app experience.

  Blog-recommendations_border

What do you feel are the benefits to selling your app in the Amazon Appstore for Android?


Somer:  Our apps are based on well-known licensed animations. Amazon’s ability to merchandise alongside related products is very unique and a critical asset when trying to reach the people who already love the properties.   Amazon has a special category and Best Seller list for just for kids’ apps; also sells VeggieTales videos, books, music, and other merchandise; has millions of people looking to load up their new Kindle Fires, and the ability to target promotions to all of them. Most importantly though, Amazon had the willingness to work with us and bring forward all their unique merchandising tools in order to set up a great launch promotional program and put our app in front of a very large number of the right people.

What’s next for Weeblets?


Somer:  We’re looking forward to the next stage as we begin to offer new features and levels in the VeggieTales Spotisode Collection, begin to experiment with Amazon’s In-App Purchasing API and look for new ways to promote our apps with Amazon.

April 18, 2012

Amazon Mobile App Distribution Program

Michael Ritter, Vice President Licensing & Distribution at Social Gaming Network, is our guest blogger for this post.  SGN connects people around the world through great games, including Skies of Glory, Fluff Friend Rescue, Warp Rush, Bird's the Word, and Night of the Living Dead Defense.


We decided to participate in the Amazon Appstore In-App Purchasing beta program because Amazon is a ubiquitous and trusted ecommerce platform with disruptive devices, so we felt it was a perfect storm of opportunity.   Amazon's in-app purchasing solution created a great way for us to reduce friction and drive more revenue from our games, as tens of millions of people already have made purchases with Amazon.  Specifically, the Kindle Fire’s integrated storefront and marketplace work seamlessly and help drive mobile game distribution.  Through in-app purchases we are able to add additional content to our games, which help deepen the player’s experience and increase their enjoyment.  

With our games we have tried a mix of revenue models, including paid, paid with in-app purchase, and free with in-app purchases.  Our strategy largely depends on the type of game and expected game play behavior.  In our Amazon games, the model revolves around the use of in-app purchases of virtual goods, although we are starting to experiment with ad-based games whereby users will have the ability to purchase the option to disable ads.  We feel the freemium strategy coupled with in-app purchases provides the greatest ability to delivery quality games to a large audience, while also providing free content for casual players and the ability to upgrade for those players looking for a richer experience.

From the consumer’s point of view, Amazon has done an exceptional job creating a natural and seamless purchasing process that allow users to easily make a purchase and continue playing the game. From a developer’s point of view, we found Amazon’s technical support team to be exceptional. They were attentive, helpful and very responsive to supporting and walking us through the installation process.  

Overall, I’d say that offering IAP in your games/apps is a great way to drive revenue as well as provide enhanced content for users to enjoy.   The Amazon Appstore SDK and In-App Purchasing APIs are well worth installing, whether your game is paid or free.

April 18, 2012

Amazon Mobile App Distribution Program

Michael Ritter, Vice President Licensing & Distribution at Social Gaming Network, is our guest blogger for this post.  SGN connects people around the world through great games, including Skies of Glory, Fluff Friend Rescue, Warp Rush, Bird's the Word, and Night of the Living Dead Defense.


We decided to participate in the Amazon Appstore In-App Purchasing beta program because Amazon is a ubiquitous and trusted ecommerce platform with disruptive devices, so we felt it was a perfect storm of opportunity.   Amazon's in-app purchasing solution created a great way for us to reduce friction and drive more revenue from our games, as tens of millions of people already have made purchases with Amazon.  Specifically, the Kindle Fire’s integrated storefront and marketplace work seamlessly and help drive mobile game distribution.  Through in-app purchases we are able to add additional content to our games, which help deepen the player’s experience and increase their enjoyment.  

With our games we have tried a mix of revenue models, including paid, paid with in-app purchase, and free with in-app purchases.  Our strategy largely depends on the type of game and expected game play behavior.  In our Amazon games, the model revolves around the use of in-app purchases of virtual goods, although we are starting to experiment with ad-based games whereby users will have the ability to purchase the option to disable ads.  We feel the freemium strategy coupled with in-app purchases provides the greatest ability to delivery quality games to a large audience, while also providing free content for casual players and the ability to upgrade for those players looking for a richer experience.

From the consumer’s point of view, Amazon has done an exceptional job creating a natural and seamless purchasing process that allow users to easily make a purchase and continue playing the game. From a developer’s point of view, we found Amazon’s technical support team to be exceptional. They were attentive, helpful and very responsive to supporting and walking us through the installation process.  

Overall, I’d say that offering IAP in your games/apps is a great way to drive revenue as well as provide enhanced content for users to enjoy.   The Amazon Appstore SDK and In-App Purchasing APIs are well worth installing, whether your game is paid or free.

April 16, 2012

Amazon Mobile App Distribution Program

What is code obfuscation?

If you are ready to submit your app to the Amazon Appstore for Android, you might consider obfuscating your code. Obfuscating your code modifies your source and machine code to be difficult for a human to understand if your app gets decompiled. If you are concerned about your app being reverse engineered, using a tool to obfuscate your code can help a great deal.

Caveat

Not all of your source can be obfuscated, however. If you are implementing In-App Purchasing for your app, the Amazon Appstore relies on certain methods being available to call and provide you with information about a purchase request. If these methods get obfuscated and renamed, the Appstore will not be able to send information to your app. This post is a brief walkthrough on adding code obfuscation to your project.

Proguard

For android apps, Proguard is a code obfuscation tool that is provided to you once you download the Android SDK. The program shrinks and obfuscates your source code.

Setting Up Code Obfuscation for your Project

Prerequisites

This walkthrough assumes you have the Android SDK and Amazon In-App Purchasing API installed and your project already completed.

For help on installing the Android SDK, please refer to their website at http://www.developer.android.com/sdk/installing.html. Download the Amazon In-App Purchasing API by going to http://developer.amazon.com/

Enabling Proguard for your App

To enable Proguard for your Android app, refer to the following documentation from the Android SDK: http://developer.android.com/guide/developing/tools/proguard.html

Edit the build.properties file inside of your project, and add the following line (if you don’t have this file in your project directory, make one):

proguard.config = <relative or absolute path to proguard.cfg file>

 ‘Keeping’ the In-App Framework Intact

When incorporating the in-app framework into your library, you will need to specify classes to ‘keep’ and not obfuscate. Add the following lines anywhere in your proguard.cfg file.

-dontwarn com.amazon.**

-keep class com.amazon.** {*;}

-keepattributes *Annotation*

-dontoptimize 

Finalizing and Releasing Your App

Now that you’ve fully set up your proguard.cfg and build.properties file, you can run Proguard through the ant  build script for your project.

Obfuscation with another Program

If you are using another program for code obfuscation, to ensure that in-app functionality is preserved, make sure your program does not obfuscate any class under the com.amazon.* namespace, including method names and identifiers. Your obfuscation program must also preserve annotations.

Conclusion and Additional Resources

The code in this article serves as a walkthrough for enabling and using Proguard for release candidates of your app. Sample apps that include the code from this article are provided in the In-App Purchasing API. Again, you can download the SDK by logging into http://developer.amazon.com/