No results found

Try a different or more specific query
Developer Console
Amazon Developer Blogs

Amazon Developer Blogs

Showing posts tagged with Games

March 13, 2011

amberta

If you love those birds and hate those pigs like we do, you will be pleased to hear that an all-new installment of the quirky bird pack is coming soon. The Android version of Angry Birds Rio, the follow up to the smash hits Angry Birds and Angry Birds Seasons, will launch exclusively in the Amazon Appstore. 


What does this mean for you?
More traffic, more customers! The Angry Birds franchise has been downloaded over 100 million times – the Android installed base is over 30 million . When we launch the Amazon Appstore, we will be teaming with Rovio to drive those customers to the store - which means more traffic to the Amazon Appstore and more customers for you.


In preparation for our store launch, we launched the Amazon Appstore for Android Facebook page and @amazonappstore Twitter handle today.  We’ll use these communication vehicles to engage customers, and we encourage you to Like us on Facebook and follow us on Twitter to stay abreast of our consumer-focused messaging.  We will continue to post developer-centric news you can use on this blog and the @AmazonAppDev Twitter handle.


The Amazon Appstore is launching very soon.  If you have not yet submitted your app, we encourage you to do so now to ensure your product is ready for launch!

AngryBird_Rio_AmazonAppstore_Android_Exclusive
 

March 03, 2011

peracha

If you own a Kindle, you’ve experienced the power of having a Digital Locker and the ability to download your purchased content to just about any device. The notion of “buy once, read anywhere” will now also apply to your Android apps purchased through the Amazon Appstore

Customers who purchase an app will retain an entitlement to their app even if they decide to replace their current Android device and/or purchase new devices, as long as the new devices meet the installation requirements of the app. This provides insurance to customers that their purchased apps will be available for use on all supported devices, even if the customer has uninstalled or otherwise removed those apps in the past.

The digital locker service combined with a robust Digital Rights Management (DRM) solution not only make managing apps easier for customers, they also address one of the biggest concerns developers have:  unauthorized copying and distribution. An authorized user can now install your app on any of their supported devices; however, if you chose to apply DRM on your app at submission time, your app will not run on unauthorized devices.

Any app that has Amazon DRM applied to it will require users to have installed and signed-in to the Amazon Appstore client to access the app. When an app is accessed by the user, it will verify with the Amazon Appstore device service as to whether the user has an entitlement to the app. If the user does not sign in or does not have an entitlement to that app, then the app will not be usable. However, any user can gain an entitlement by purchasing the app through Amazon.

We will be posting more updates on Amazon DRM over the next few weeks on the Amazon Appstore Developer Blog.  We will cover additional topics, such as sharing data between apps and signing your app after Amazon DRM has been applied.

Update:  In response to your questions, we’d like to take this opportunity to provide a few clarifications.

Do I have to use Amazon DRM if I sell my app through Amazon.com?

No, it is not required. When you submit your app you can choose to offer your app DRM free or you can apply Amazon DRM.

Do customers need to have internet access to use an Amazon DRM-enabled app?

No. Once an app is installed, a user can use the app without having internet access.

How can you verify that the user has an entitlement to the app without internet access?

During the installation process for an app, the Amazon Appstore client downloads a small token that grants the user the right to access the application. A valid token permits the user that purchased the app to access their app offline. The Amazon Appstore client will periodically communicate with Amazon servers to refresh the token.

February 23, 2011

peracha

As an app developer, you know the importance of using external services and APIs offered by other developers. Leveraging third-party software eliminates unnecessary coding on your part and allows you to quickly bring higher-quality, feature-rich apps to market. An app can leverage the features of other apps to handle various types of requests. One common example is using a browser to handle user requests to hyperlinked text displayed in your app. Another example is launching a third-party social networking app to authenticate your user. Although on the surface these integration points appear similar-- the reality is that they can be very different. The difference lies in the mechanism used to invoke the external app.

In the first scenario, when a user clicks on a hyperlink, the action will automatically invoke an intent, which is sent to the Android system to process.  The intent, which encapsulates an operation to be performed and contains the necessary data to send to the operation, acts as the glue between two or more loosely coupled Android apps.  The Android system matches the intent to one or more activities, services, or receivers that have registered with the system. In the case of a hyperlink, typically the default browser activity will handle the intent. However, if more than one intent handler is able to process the operation (such as when a user clicks on an e-mail address), the system offers the user the option to select the intent handler they are interested in using. In the example below, an e-mail handler and the copy-paste handler are invoked after a user clicks on an e-mail address within a browser.

  Linking


The important thing about the first scenario is that your app does not concern itself with who handles the intent, and no data is shared between the two.  Your app will defer to the user to make the appropriate selection.

In the second scenario, you will have a more tightly coupled dependency on the authentication service provided by the third-party social networking app. This means that you do not want just any social networking app to authenticate your user. Instead, you are looking for a particular app, and if that app does not exist, you will respond accordingly. 

However, before this dependency can be created, your app will need to be able to share data with the service provider. This is done by signing your app and obtaining the appropriate security key(s) from the third party to access its API.  Depending on the requirements of the service provider, you can then either bundle its library with your app or require that the third party’s app be installed on the device. 

At runtime, if you cannot resolve the dependency to the third-party app (i.e. it’s not installed), then you will want to provide the user an opportunity to install the app. This can be done by launching an intent from your app to an Amazon Appstore URL:

String url = "http://www.amazon.com/gp/mas/dl/android?p=com.amazon.mp3";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);

The above example links the intent to the Amazon MP3 app.  To link to a different app, you can simply take the package name (“com.amazon.mp3”) and replace it with the one for the app you are depending on.  The Amazon Appstore mobile client will be configured to handle URL intents of the following pattern:

http://www.amazon.com/gp/mas/dl/android?p=<packagename>

The invocation of the intent will then provide the user the option to view the app page through the Amazon Appstore mobile client. 

Appaction
 

From there, the user can take advantage of Amazon’s 1-Click purchase feature to download the app (paid or free).  After the user installs the third-party app, they can go back to your app’s activity and continue from there.

The following list includes some other helpful links you can use to make requests to the Amazon Appstore:

  • To search the Appstore:

    http://www.amazon.com/gp/mas/dl/android?s=<searchtext>

  • To show all apps by the developer of the app corresponding to the specified package name: 

    http://www.amazon.com/gp/mas/dl/android?p=<packagename>&showAll=1

February 04, 2011

amberta

Last week we talked about what a detail page looks like over the fold in the Amazon Appstore for Android.  This week, we’re going to dive into what customers see when they scroll down.  Before we talk about what’s under the fold, here’s a look at the Airport Mania: First Flight app detail page over the fold.

Airport-mania-detail-page-top

While the first thing most customers see when they’re looking at apps is the title, icon, and price, what cinches the deal is often what’s in the details.  So what does this mean for you?  The content under the fold is invaluable in helping customers make decisions about what to buy/download and what to skip.  It’s important to provide details including images and appropriate descriptions that show what your app can really do.

There are 5 key components of a detail page “below the fold.”  The first two are are:

1.  Product Details
2.  Product Features

Airport-mania-detail-page-product-details-features
 

Product Details
This is the “just the facts ma’am” section where we bottom line what the customer is getting, ASIN (Amazon Standard Item Number - this is your unique Amazon app ID similar to what a barcode is for products in stores), dates of note, and average customer rating.   You’ll see we encourage customers to tell us what they think.

Product Features
Here’s where we bottom line what your app is all about – we take this information directly from what you put into the Developer Portal, so it’s important to list accurate, helpful features.  If a customer doesn’t have time to read the detailed description, they can get the gist from the Features.

3.  Product Description

Airport-mania-detail-page-description
 

Product Description
We use the Description you provided in the “Description” section on the Appstore Developer Portal as well as information that’s on your website (if applicable) to create a detail page with rich, helpful information about your app.  We also like to include images in the Description when available (we pull these from the screenshots you provide with your app submission).  An abbreviated version of this description is included on the detail page in the mobile store itself (stay tuned for a peak at a detail page on the mobile store!).  If your app doesn’t sell itself, we hope the product description helps.   

The final two sections are really all about you and the app requirements.  They are:
4.    Developer Info
5.    Technical Data


Airport-mania-detail-page-dev-info-tech-details
 

Developer Info
We want to boost your brand.  Here’s where you can talk about who you are and what your expertise is.  We pull this directly from what you put in the Developer Portal.

Technical Data
As the name implies, this is where we put the technical info including app size and version.

January 17, 2011

peracha

Whether you have a bug fix, enhancement or performance optimization that you want to deliver to your customers, one of your Android apps will inevitably require an upgrade.  This can be either a seamless process or a painful one for your customers.  To ensure that it is the former and not the latter, the Android SDK provides some simple guidelines to help you manage this process.  Last week, we discussed some useful configuration settings offered through AndroidManifest.xml for designing apps to run on smartphones and tablets.  This same configuration file also provides settings to version your apk.

There are two attributes you can specify to manage the versioning process of your app:

  • android:versionName
  • android:versionCode

The versionName attribute is a user facing string that identifies the version of the application in use.  For example, if you are upgrading for the first time, your previous versionName may be “1.0” while a minor upgrade version would be indicated by “1.1” and a major upgrade by “2.0”.  The versionName attribute is primarily used for display purposes and helps users identify differences between app versions.  The following is a snippet of the manifest from the Amazon MP3 App for Android:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.amazon.mp3"
      android:versionCode="80029"
      android:versionName="1.8.29">

        ...
</manifest>

The versionCode is the attribute that is used by the Amazon Appstore for Android to compare versions of your app.  This is an integer, like 80029 in the sample manifest, not a string like the versionName.  If the versionCode of an apk is greater than the versionCode of another apk, then it is considered to be newer.  Of course, for this comparison to be valid, the apk package name and signature must also match.  To avoid unexpected behavior, it is extremely important to keep track of your versionCode and to always increase the value whenever you are releasing a new version. 

January 11, 2011

peracha

At last week’s CES, it was hard to ignore the fact that many technology pundits are considering 2011 as the year of the tablet.  And although Apple should be thanked for resurrecting interest in tablets in 2010, 2011 will see a record breaking surge in the number of vendors bringing new tablets to market.  Sean Dubravac, Chief Economist and Director of Research, Consumer Electronics Association,  predicted, “While many firms are touting product launches within the tablet sphere for the fourth quarter of 2010, the real action will occur a few weeks after the end of the quarter at CES.”  The next few weeks will be telling for the future of the tablet and so far it’s looking quite bright. 

The good news for you, the Android developer, is that many of these tablets will be sporting Android OS and, with the recent announcement of the Amazon Appstore Developer Portal, you have a convenient way of offering your apps to both tablet and smartphone users.  We’re not mandating that you optimize your apps for tablets as well as smartphones, but it’s definitely something you should consider. 

The expected surge in the number of tablets on the market and the number of Android devices a single user will own brings forth new opportunities and challenges.  The opportunities are clear—more devices mean more users, more hardware features and more APIs to take advantage of.   These new tablets will continue to feature larger screens and supported resolution levels, ample amounts of disk space and extremely fast processer speeds that are not far behind that of a typical laptop. An important thing to remember as a developer is that customers may be using your app across tablets and smartphones – no longer just one or the other. 

 A quick comparison of the best selling smartphones and tablets on Amazon.com shows that tablets boast 50-100% more screen real-estate and 50% more disk space.  Furthermore, many of the tablets demonstrated at CES also feature dual-core CPUs.  These differences make it more important than ever for developers to be aware of the device capabilities and limitations.  With Amazon.com’s convenient 1-Click purchase and digital locker features, customers will be able to buy your apps and run it on any of their Android devices.  Unfortunately, the growth in devices will present one of the biggest challenges for you—you want to continue to build and extend your killer apps and offer it to the tens of millions of Amazon.com customers, but you also want to keep your customers happy by setting expectations on how and where the apps can be run.   

The Android SDK requires that each application contain a file called AndroidManifest.xml within the apk.  This is where you can let the system know what your app needs at a minimum to run and what resources and services it will use.  For instance, if you are building a word processor app that is designed to only run on a tablet, you will want to set the android:largeScreens attribute to “true” on the <supports-screens> property, while explicitly setting the small and normal screen flags to false.  If you don’t declare this requirement for your app, then the Android system will assume it works on all screen sizes.   

On the other hand, if you are building a game that looks great on any phone or tablet, then you can declare this in the xml file by including the following settings:

<supports-screens
        android:smallScreens="true"
        android:normalScreens="true"
        android:largeScreens="true"
        android:xlargeScreens="true" />

One thing to be aware of, however, is that once you declare support for all screen sizes, you will want to check the DisplayMetrics settings at runtime to make important display decisions in your code.  This information can be used to make performance optimizations, such as displaying low to medium resolution images on small devices and high resolution images on large screens—a great way to avoid creating multiple versions of your app.

Apps that depend on hardware resources, such as GPS, Wi-Fi or Bluetooth capabilities, can define these requirements by appropriately setting the <uses-features> option. 

Furthermore, with last month’s announcement of the Gingerbread release, there are now 6 flavors of Android OS in use.  If the trend over the past two years continues, you can expect one more major release (3.0, Honeycomb) and another minor release to be announced before 2012. With major features being added in every new platform version, such as improved copy-and-paste and faster text input processing in Gingerbread, you will want to take advantage of these capabilities and also ensure your apps only run under their supported environment.  The manifest provides a way to enforce dependencies on specific SDK features by using the <uses-sdk> flag.

Customer satisfaction is a key driver behind Amazon.com’s success.  As you develop and offer your application to Amazon.com’s customers, following these Android development best practices guidelines is a great start towards achieving similar success.

January 04, 2011

Amazon Mobile App Distribution Program

You may have seen the buzz in Android blogs and forums about Amazon doing something… appy!  Today Amazon.com launched the Amazon Appstore Developer Portal.  You can find the Portal at developer.amazon.com.  It is a new self-service tool that allows mobile application developers—Android developers in particular—to join our Appstore Developer Program and submit apps for the upcoming launch of the Amazon Appstore for Android.

At Amazon, we start with the customer and work backwards, and we’re always looking for ways to improve the customer experience.  The sheer number of apps available today makes it hard for customers to find high-quality, relevant products – and developers similarly struggle to get their apps noticed.  Amazon’s innovative marketing and merchandising features are designed to help customers find and discover relevant products from our vast selection, and we’re excited to apply those capabilities to the apps market segment.

Our customers also have a strong interest in mobile, and across the company we are working hard to make our great products and services available on mobile devices. We continue to innovate the mobile shopping experience with the Amazon Shopping app, Amazon Price Check and the recently launched Windowshop for the iPad. We have numerous Kindle apps, and customers can shop our MP3 store from their mobile devices. Our subsidiaries like IMDB and Audible also have robust mobile applications.  An Appstore is a logical next step for Amazon in mobile. 

Why should you submit your apps for inclusion in the Amazon Appstore for Android?

  • For the first time, you will have access to tens of millions of active Amazon customers.
  • Amazon’s proven marketing and merchandizing features will help you get your apps discovered and in front of the right customers.
  • The convenience of using an existing Amazon.com account will make it simple and easy for customers to purchase your apps - both online and on their mobile devices. 

The Appstore Developer Portal is your one-stop location to manage account details, manage marketing materials, and track sales and projected earnings using self-service and customizable reports.  We encourage you to check out the Portal at developer.amazon.com and join the Appstore Developer Program today! 

- The Amazon Appstore Team