Developer Console
Appstore Blogs

Appstore Blogs

Want the latest?

appstore topics

Recent Posts

Archive

Showing posts by Mike Hines

November 26, 2013

Mike Hines

Ever wonder what’s involved in turning your web app into an app you can launch from a mobile device? On the Amazon Appstore, it’s pretty easy, and involves just a few steps you can learn about here. One of those steps is adding a JSON file called the web-app-manifest to your web app.

This manifest file contains information required to run your app on a mobile device, and the basic manifest file is created for you on the developer portal. Where you put that manifest file can make a difference though. You should know about that and how to edit your manifest file in order to give your app access to features like geolocation on the device.

Where can you put the Manifest, and what difference that makes.

While we recommend that you put the manifest file at the root of your web app, you can put the manifest file anywhere on your server. The location of your manifest file determines what pages will render in the context of your app, and which pages will render in the default browser. The pages in the sub-domains under your manifest will be accessible by your app and will render in the context of your app. Any pages outside of those domains or directories will open in the default browser instead of in the context of your app.

Take a look at what pages will and won’t be accessible from your mobile app depending on where you put the manifest. Note the special case of www. and m. addresses in yellow below.

If you put your manifest here…

These pages will open in your app

But these pages will open in a browser

http://foo.com/web-app-manifest.json

http://*.foo.com/*

http://*.notFoo.com/*

http://bar.foo.com/web-app-manifest.json

http://*.bar.foo.com/*

http://*.notBar.foo.com/*

http://m.foo.com/web-app-manifest.json

http://*.foo.com/*

http://*.notFoo.com/*

http://www.foo.com/web-app-manifest.json

http://*.foo.com/*

http://*.notFoo.com/*

http://foo.com/MyApp/web-app-manifest.json

http://foo.com/MyApp/*

http://foo.com/notMyApp/*

http://*.foo.com/MyApp/*

http://bar.foo.com/MyApp/web-app-manifest.json

http://bar.foo.com/MyApp/*

http://bar.foo.com/*

http://notBar.foo.com/*

http://notBar.foo.com/MyApp/*

http://bar.foo.com/notMyApp/*

SSL Note:

  • If the manifest is delivered with https://, then the entire app must be delivered over SSL as well.
  • If the manifest is delivered with http://, the app may be still be served over SSL.
  • If you use any permissions (IAP, Geo Location, Login), you must use SSL.

Now that you have a good idea where to put your manifest, what to put in it?

Contents of the web-app-manifest.json file

The manifest created automatically for you will look like this:

{
 "verification_key" : "c8efxxxx-xxxx-xxxx-xxxx-xxxxe5b239e9",
 "version" : "0.00(0)",
 "type" : "web",
 "last_update" : "2013-11-19 23:40:17+0000"
}

  • “verification key” connects your website to your app.
    *This is the only required field in the manifest.
  • “version” helps you track the version that you have submitted
  • “type” lets us know that in this case, the app is a web-app
  • “last_update” is when this manifest file was created (you can change it to match your updates)

In addition to the elements above, you may also wish to add one of these elements:

  • “permissions” specifies the permissions your app will request (these will require SSL use).  They consist of:
  • “Created_by” = you.
  • “launch_path” identifies the file you want your app to open
  1. iap = In App Purchasing
  2. geolocation = Get location information
  3. auth = if you request user credentials for login (facebook connect, google, your own.)

A finished web-app-manifest.JSON that uses all available fields might look like this:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

{

    "verification_key": " c8efxxxx-xxxx-xxxx-xxxx-xxxxe5b239e9",

    "launch_path": "index.html",

    "permissions": [

        "iap",

        "geolocation",

        "auth"

    ],

  

    "type": "web",

    "version": "0.1a",

    "last_update": "2013-04-08 13:30:00-0800",

    "created_by": "webappdev"

}

Updating your web-app-manifest.JSON file

If after your app launches, you decide you want to update you web-app-manifest.JSON file, the app on device will not automatically update with new JSON file data. You will need to publish an updated version of your app. You can create an updated version of your native app in the dev portal by using the ‘Add an upcoming version’ link at the top of the developer portal page for your app (see below).

Once your new version submission is underway, you can submit and verify a new manifest, and then submit the new app version for publication.

A Tip to Remember!

Please be sure to configure your server to accommodate .JSON MIME types! For example:

.json -> application/json
.webapp -> application/x-web-app-manifest+json

More Information

You can find detailed documentation on the web-app-manifest.JSON file and on HTML5 app submission on our Dev Portal here.

Should you have any additional questions about the web app manifest file and how it is used, please send us a quick note so we can get you the answer you need.

 

November 13, 2013

Mike Hines

AWS announced a great new service for developers today that allows you to stream your graphics and computationally-intensive apps in the cloud to a wide variety of devices, including tablets and mobile phones.  Check out Jeff Barr’s post for all the details and we’ll provide more details on the benefits for mobile developers in an upcoming post.

 

November 07, 2013

Mike Hines

Now is one of the best times of year to submit your apps to the Amazon Appstore and have them published for Android phones and tablets, including the new Kindle Fire line of tablets. In 2012, we saw a 50% increase in the number of app downloads during Thanksgiving week as compared to an average week. During ‘Digital Week’ in 2012, the week after Christmas, customers purchased and downloaded 600% more apps than an average week during the year.

As we’ve noted in earlier blog posts, it’s easy to get started as 75% of the Android tablet apps we’ve tested already work on Kindle Fire without any extra development. Amazon also has a tool that quickly ensures your apps have the best chance of passing both Amazon Appstore and Kindle Fire compatibility testing. Even if you’ve already got an app in the Amazon Appstore, you can use this service to check out any updates you plan on submitting.

The testing tool works fast and screens your apps for potential errors or incompatibilities. For example, you’ll learn:

  • If there are structural issues with implementation of Amazon APIs
  • If you are using any libraries that might impact compatibility
  • If your app has features that are not supported by some Kindle Fire devices

If an issue is found, you will also get some suggestions for fixing the problem. Note, the tool is not designed to replace debugging in your IDE, and it won’t find null pointer exceptions or similar coding errors.

To get started, you can find the tool in the SDK & Tools area of the Developer Portal where there is now a link for the App Testing Service.
 


 

The App Testing Service detail page includes a brief description of the tool and a button that initiates the App Testing Service. Clicking that button brings you to the app testing page (below) which contains a control into which you can drag your .apk.
 


To give you a sense on the experience you can expect, I’ll walk you through the short process. I started with a small quotation app that I created and dragged it into the tool. The testing was complete in under a minute and my app passed. The tool then displayed a ‘Submit to Amazon Appstore’ button that I could use to start the app submission process.

Next, I tested the same app that used Google In-App Billing instead of Amazon In-App Purchasing. The tool caught that error and correctly identified the issue and offered suggestions for fixing my app. Here is that test result:
 


Here is another test result that identifies an error in In-App Purchasing implementation:
 


Once the test is complete, you can find the results of this and all your tests in a table at the bottom of the app testing page. This lets you go back and re-visit previous issues and recommendations across all the apps you have tested.

So don’t miss out on getting in front of all those customers during the holiday season. Save time and go to https://developer.amazon.com/tya/welcome.html and make sure your apps are ready to submit to the Amazon Appstore. 

 

October 29, 2013

Mike Hines

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 AB Testing API.

Q: AB test requires internet connection at every launch so even i switch to 100% for say thanksgiving.. it will not applicable to user if he is not connected to internet.. Is there any way to make it concrete...
A: If you query the server for a variant each time you use the app, the user will get the default value (“ABTest Default”) from this line:

newText = varNewText.getVariableAsString("varNewText", "ABTest Default");

If that default were set to “Thanksgiving”, you could be sure that you would get this value even if offline.

If you have a different, undesired value as default, you will need to wait until the user launches the app while online to effect the change. Even then, when offline, the user will see Default again.  To make sure this doesn’t happen, you can save the value once it’s been set. Then you can check to see if there is a connection before resetting the value from the server, and use the stored value if there is no connection. This way, the value can always be “Thanksgiving” (or whatever variant you select), even when the user is offline.

Q: if we r using a|b testing in our google play apps, does it need the amazon appstore app installed (for drm validation) in the device or just adding the insights jar file in our google play app will do?
A: Amazon Appstore does not need to be installed for A|B Testing to work. Just adding the Insights jar file will work.

Q: when i was a|b testing, i noticed delays in getting the variables  in my app as well as viewing the results in the portal... why is there a delay? what is stopping from real-time measurements on the portal?
A: The call to the Insights service updates asynchronously, and results are not posted to the server real-time.  It is reasonable to see some delay before the results appear in the portal.  When offline, the service batches all collected data and saves it until the customer’s device connects with our service.

 

Don’t miss out on our next webinar event: 
Tips & Tricks: How To Test, Submit, and Earn Revenue with Your HTML5 Mobile Web Apps
on November 7th, 2013 @ 10:00 AM
Pre-register here!
 

 

October 11, 2013

Mike Hines


Click here  to watch the exclusive webinar replay on YouTube!
 
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 Maps API.
 
Q: Can we see some best practices about creating apps that support both Google and Amazon maps, if possible without doubling the codebase? So long story short: is there a way to hide the map implementation like behind a Factory pattern, or something like that, or we have to work with two separate projects?
A: You could create a common map library using a factory pattern. Others may prefer maintaining separate code bases, dependency injection...etc. Unfortunately, there is no single good answer. It depends on the goal and scope of your team.
 
Q: Can we use Amazon maps on regular Android apps?
A: No, at this time the Maps API does not support non-Kindle Fire devices.
 
Q: Is it preferred to save that geocoding locally so we dont make lot of calls?
A: Yes, avoid excessive network operations would improve the performance and battery consumption of your app.
 
Q: If our app has a map in it, is there a way to support the Kindle devices in China and Japan?
A: The Amazon Maps API is supported in countries where Kindle Fire tablets are sold, except for China and Japan
 
Q: Is there restrictions on how many geocoding calls we can make?
A: At this time, there are no specific usage quotas or limits for the Maps API. However, we reserve the right to throttle or shut down your application in the event we reasonably believe your use of the Maps API exceeds typical or expected usage and/or creates material technical burdens on our (or our partner’s) systems.
 
Q: What's the benefit of using Amazon Maps over Goolge Maps API?
A: Google Map API requires Google Play Service, which is not available on Kindle Fire tablets.
 
Q: Can we do geocoding of an address outside of the mobile app?
A: No, at this time the Maps API does not support query outside of a mobile app.
 
Q: How does Amazon Maps compare with Google Maps with respect to features?
A: The Amazon Maps API offers interface parity with the Google Maps API v1. At this time, the Amazon Maps API does not support Traffic, Street view, and Trackball gestures.
For more information, please visit https://developer.amazon.com/sdk/maps/faq.html
 
Q: Can the maps be cached locally?
A: No, at this time the Maps API does not support map caching.
 
Q: Is there a way to get Amazon Maps in a Fragment?
A: At this time the Maps API does not support fragments.
 
Q: Pretty cool maps, who is the map data provider? TeleAtlas, NAVTEQ?
A: Nokia. 
 
Q: There are several build targets in the amazon api(in eclipse, 3 only for API level 17). If I build on e.g. Kindle Fire 7(3rd generation) will it be ok for e.g. Kindle Fire HDX 8(3rd generation) as well?
A: Yes, the 3rd generation of Kindle Fire tablets are compatible with API level 17
 
 
Don’t miss out on our next webinar event: 
Integrating GameCircle in Your Android & iOS Games
on October 16th, 2013 @ 10:00 AM
Pre-register here!
 
 

 

 

September 27, 2013

Mike Hines

Are you considering making your Android app available on the Amazon Appstore but aren’t sure what it’s going to take to get your app ready?  Here’s some good news, while we know that 75% of the Android apps we’ve tested just work on Amazon Appstore, we now have an easy way for you to find out if your app is part of the other 25% and, better yet, understand what you need to do to get your app ready.

Starting September 27th, we are opening a private beta of a new offering, The Amazon App Testing Service. This service will allow you to test your app before submitting it to the Amazon Appstore, and will give you feedback on what (if anything) you should change. We are looking  for developers who are interested in giving the service a try and providing some feedback before we go live.  As a participant you will have pre-release access to the test tool, and you can enter your feedback on a short web-form. If you choose to submit tested apps to the Amazon Appstore, we will prioritize your apps in our submission review process.

Interested?  Shoot an email to AppTestingService-beta-feedback@amazon.com and we’ll get you signed up. Easy as that.

 

September 24, 2013

Mike Hines

Amazon just announced our new Kindle Fire tablets and Fire OS 3.0! Here are the device specs:

With this launch we are offering some impressive hardware at very attractive prices. But for customers, it’s not all about the hardware; the experience matters. With these devices, we’ve made hundreds of enhancements to the platform to make tablet technology easy to use and accessible to a much broader range of customers.

So what does this mean to developers?

Graphics Direct Texture

The Fire OS graphics system is customized to quickly load large graphical assets like the high-resolution cover art in the Fire OS home screen. Graphics Direct Texture enables the Carousel and the Fire OS media libraries to include detailed images and still load quickly and scroll smoothly.

Things to consider about graphics:

  • If you use a development framework like Unity, Epic or other, please make sure that you select PowerPVR and Andreno options when building your apps!
  • You should check to see if your visual assets look good at the 2560x1600 resolution of the 8.9” device. If not, you should supply 2560x1600 assets instead of letterboxing your existing content.

New Device IDs

We recommend that you use capability detection to determine which features to support and which layouts to use.

If you have been using specific device detection to detect device-specific features or capabilities such as screen resolution or otherwise alter the behavior of your app you should be aware that each of the three new devices has a new model number, and you will need to update your Device ID list or switch to capability detection. You can find specifics on the Kindle Fire Device and Feature Specifications.

Things to consider about Device IDs:

  • android.os.Build.MODEL is changing for the new devices
  • android.os.Build.MANUFACTURER continues to be “Amazon”
  • You should try to use capability detection instead of strict device detection whenever possible

New Camera Options

The Kindle Fire HDX 8.9” now comes with forward and rear facing cameras and will respond to Android Intents accordingly. The 8MP camera on the back of the device has a flash accessible from your app via the Camera object. You can also use MediaStore.ACTION_IMAGE_CAPTURE or MediaStore.ACTION_VIDEO_CAPTURE to capture images or videos without directly using the Camera object.

Sensor Options

All new devices support TYPE_ACCELEROMETER and TYPE_GYROSCOPE. The HDX devices with the 4G WAN option will also support TYPE_MAGNETIC_FIELD and TYPE_ORIENTATION for compass functions and have GPS onboard to support accurate ACCESS_FINE_LOCATION. The two HDX devices will also include an Ambient Light Sensor.

Things to consider about camera and sensor options:

  • Have your code look for the features on the most advanced device and degrade gracefully if a camera or sensor is not present
  • Check this page for suggestions on sensor detection

Speaker Options

All three Fire Tablet support Dolby Digital+ processing, and no action is required for your app to benefit from this feature. Coupled with Kindle Fire’s new display features the addition of Dolby Digital makes Kindle Fire a very compelling platform for gaming and media apps.

Development and Debugging

Brand-new 2013 Kindle Fire emulators enable you to target the latest Kindle Fire devices even if you don’t have one on hand. The Amazon AVD Launcher streamlines creation of compatible Android Virtual Devices so you can get your apps running in the emulator faster than ever.

Fire OS 3.0

All of the new devices run Fire OS 3.0 and feature Amazon’s unique user-friendly interface, which we have optimized extensively to improve performance. Fire OS is based on Android 4.2.2 (API level 17), so Android compatibility is high, often requiring no additional development work. In fact, 75% of the Android tablet apps that we’ve tested run on Fire OS with no code changes.

Fire OS also includes a newly optimized, high-performance Chromium-based HTML stack, so your web apps deliver a native user experience using open web technologies such as HTML5, JavaScript, and CSS3.

Other APIs now available include Bluetooth gamepads and joysticks as Human Interface Devices (HID), and multiple user support. Allowing multiple users makes family use easier, especially in conjunction with child-friendly Free Time.

In addition, this release opens Fire OS to a whole new class of Enterprise applications. With user partition encryption and secure connections to enterprise Wi-Fi networks, your application can better protect user data on-device and during transfer. Kerberos authentication and a native IPSec VPN client allow you to connect securely to corporate intranet websites from your app.

Customers Love Kindle Fire

New customer-facing features and UI improvements enhance the user experience overall and better position your content with consumers. A redesigned Home Screen with Carousel and Grid views, for example, allows users to customize the display, while QuickSwitch gives them the ability to move between apps with a single swipe.

With Second Screen, users can fling content from their tablet to their TV, and new download prioritization ensures data transfers in the background don’t compromise device performance, degrade playback, or interfere with the foreground application. X-Ray for Music, Movies, and TV lets customers explore their media in new ways, while Reading Mode makes books on the Kindle Fire even more enjoyable.

One of the most innovative features in this release focuses on helping customers have a great experience every time, even when things are working quite right. Fire OS 3.0 delivers revolutionary live tech support via video, available 24x7, 365 days a year. The Mayday button is built into Quick Settings and connects customers to an Amazon Tech Advisor, who can guide a customer remotely through any feature. As the resident tech support guy for my extended family I can say I’m pretty excited about this feature.

Better integration with third-party applications means customers can spend more time with the Kindle Fire. This release adds support for Facebook contacts, events, and photos, for example, and enables printing of documents created with Microsoft Office. Conversation view in Email improves usability, and Screen Reader, Explore by Touch, and Screen Magnifier raise overall accessibility.

You benefit from these features without having to do anything in your own code. In addition, customers who purchase a new Kindle Fire will receive 500 Amazon Coins that they can spend (and you can receive) just like cash in the Amazon Appstore. Learn more about these and other consumer enhancements here.

Other New Features

The following improvements are not device or OS related, but are relevant nonetheless.

In the last several months, Amazon has added new APIs that:

  • Give you a way to do live A/B testing in your app and change app variables while they are in-market
  • Monetize your apps with display ads
  • Help you make money by selling physical and digital goods from Amazon within your app
  • Track scores, achievements and sync game state across Android and iOS platforms

Things to Consider:

As you develop your first app for the new generation of Kindle Fire Tablets, here are some things to consider.

  • The new devices have new MODEL numbers. (Please use capability detection)
  • Make sure your resources are appropriate for 2560x1600
  • Remember to select the Adreno GPU when using a framework
  • Sensors and features vary between devices. Assume the best and degrade gracefully
  • You can get more details about the device specs here

We are looking forward to sharing more details about Fire OS 3.0 in a blog post soon. We will also share additional details and implementation suggestions for the new features in future blog posts, but in the meantime, you can find excellent documentation on the new device on our developer portal: https://developer.amazon.com/sdk/fireos.html

September 11, 2013

Mike Hines

Amazon Device Messaging (ADM) helps you send push messages to your Kindle Fire users. Now, Amazon Web Services has just reduced the effort required to send push messages your users on all the different mobile devices they happen to be using.  With Mobile Push, an ADM-compatible extension of AWS Simple Notification Service (SNS), sending notifications to millions of users across Apple, Google and Kindle Fire platforms just got a lot easier.

Sending push notifications can be expensive and time consuming, even though mobile platforms don’t charge to deliver your messages.  Currently, each platform asks you to send notifications in a different format, via a different API.  You also have to manage a database of push tokens that can change unpredictably.  Getting it wrong means your notifications may be delayed or dropped entirely.  It all becomes even more complex when your mobile apps need to scale to support millions of users.

The new Mobile Push service takes these concerns off the table with a cross-platform API, token management, and automatic scalability.  In addition to reducing the overhead of managing multiple messaging services, you no longer have to treat each group of users separately, and instead can communicate with your users according to whatever grouping makes organic sense.

So how much does this cost? Most mobile developers won’t pay anything at all for SNS Mobile Push until their applications achieve scale.  Every customer can send 1 million push notifications for free every month.  After that, you pay $1.00 in total for every million you send ($0.50 per million publishes, plus $0.50 per million mobile push deliveries).

SNS Mobile Push is available now in all public AWS regions.

The new Mobile Push section of the Amazon SNS Developer Guide will help you to get started. 

 

September 10, 2013

Mike Hines

One of the problems I’ve had with my wine blog is that my audience couldn’t read it when they really needed to, that is to say, when they were at a restaurant or wine shop and they needed to read my brilliant and witty take on a wine. Fortunately, my blog generates an RSS feed, so my next step was to learn how to code an RSS reader for Android and iOS. I already do some Android development, so this didn’t seem too daunting. That is until I actually tried to find the time to start. Honestly, by the time I get around to this, some of the wines I’ve been aging will be eligible for Social Security!

Enter Conduit Mobile (http://mobile.conduit.com.) One of my colleagues was talking to me about my RSS reader woes, and he told me about a way I could get my wine blog distributed as a mobile app for iOS and Android in about 20 minutes. Hmmm, what kind of an app can I get in 20 minutes? I wanted to find out, so I went to mobile.conduit.com and found out that I could try it free without supplying any credit card info; just the level of commitment I was looking for! Sure, I could only distribute 5 copies of my app with the free account, but it would give me a chance to see what I could get, so I signed up to give it a try.

It really was simple to choose a layout suitable for a wine blog, and paste in the URL for my RSS feed. I bypassed the options for eCommerce and user messaging because I was in a hurry to see what it looked like. Conduit Mobile generated an .apk that I sideloaded to my Kindle Fire, and it ran great with no issues.

I got what I wanted, an app that works. But Conduit Mobile wasn’t finished. They also helped me manage the submissions to the app stores. I just needed to supply the metadata assets and my store credentials, and Conduit Mobile would submit the app and all app updates for me just by clicking one button. (They only supported Google Play and Apple App Store at the time, so I had to manage my own Amazon Appstore submission.) Elapsed time, ~90 minutes.

I’ll admit this was pretty easy, and the .apk Conduit Mobile generated looks really good, so I upgraded to an account that would let me distribute unlimited copies of my app. My next step was to ask our business development team why Conduit Mobile didn’t offer an Amazon Appstore option. Our BD team was probably already working on this with Conduit Mobile, but they were nice enough to let me think it was my idea, and now Conduit Mobile will publish your new app to the Amazon Appstore as well as Google Play and the Apple App Store.

I suppose I could be angry with my colleague for missing his ’20 minute’ time estimate by such a wide percentage, but honestly I’m still grateful for the tip he gave me. You see, it’s been months since I’ve published my wine blog as an app, and I still haven’t finished writing my first Android RSS reader.

 

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&A

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:
https://developer.amazon.com/sdk/in-app-purchasing/documentation/adobe.html
 

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:
https://developer.amazon.com/sdk/in-app-purchasing/documentation/testing-iap.html
 

Q: Anything specific for Adobe Air ANE?

A: For information about IAP and Adobe AIR ANE, please visit:
https://developer.amazon.com/sdk/in-app-purchasing/documentation/adobe.html
 

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:
https://developer.amazon.com/sdk/in-app-purchasing/reference/api-reference.html
 

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:
https://developer.amazon.com/help/contactus.html
 

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:
https://developer.amazon.com/sdk/fire/arch-emulator.html
 

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: https://developer.amazon.com/sdk/webapps/webappsecurity.html. 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:
https://developer.amazon.com/help/contactus.html
 

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!

 

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 21, 2013

Mike Hines

As readers of this blog, you probably already know that Kindle Fire devices run Android. While these devices may not look like Android because we use an Amazon-designed launcher, they are Android indeed. The original Kindle Fire released in 2011 runs Gingerbread (API level 10) and the Kindle Fire devices released in 2012 run Ice Cream Sandwich (API level 15).

What you may not know is how easy it is to get your existing Android apps up and running in the Amazon Appstore on Kindle Fire and other Android devices. We recently tested more than 1,600 app submissions to the Amazon Appstore Android tablet apps on Kindle Fire. In our tests we found that more than 75% of these apps just work on Kindle Fire devices with no additional development required.

While some developers may choose to just submit their Android apps, others may also decide to integrate Amazon APIs like In-App Purchasing, GameCircle or Mobile Ads to provide a richer customer experience and monetization.

We’ve seen Android apps like ‘Match the Pics’ take minutes to get submitted to Amazon and others like ‘Temple Run’ easily integrate Amazon APIs with their apps.

“Publishing our content on the Amazon Appstore was extremely easy since our Android games just worked on Kindle Fire. Creating the developer account and submitting the first app for review took a matter of minutes, and the app got published the next day.”        Appoh

"We've integrated with Amazon's In-App Purchasing and GameCircle APIs, which was a breeze. We've seen significantly higher customer engagement with Temple Run since the integration, making the few, short steps worth it.”         Imangi

You may be asking, why don’t 100% of Android APKs submitted run on Kindle Fire? Of the minority that doesn’t get to the store on their first try, some reasons for failure are:

  1. App functionality doesn’t match the product description. We’ve found that this is the top reason.
  2. For apps designed to run on phones, the app loses state or data when it receives a message or phone call. The app should preserve its state when receiving or placing text messages and phone calls.
  3. The icons don’t match. Sometimes, the icons submitted in the developer portal don’t match the icons included in the application. They need to match.
  4. App stability or failure to launch. One in 20 of the app failures is stability related. For example, because the SD card path is not necessarily the same for all devices, assumptions about the SD card path can cause failures. Another common example is failing to include referenced libraries.
  5. Not replacing unsupported APIs with the Amazon equivalent API.
  6. Security. One example we’ve seen is writing plain-text login credentials to the log. Apps need to be secure for customers.
     

Since your app will most likely just work with zero development effort in the Amazon Appstore, it seems like a no-brainer to create a developer account – at zero cost - and submit your app. Take a look at what one of Amazon’s Appstore developers says about how easy it is to set up your account and submit your Android app.

Some of the details went by fairly quickly in the video. Here’s a comparison summary of the assets in a Google Play submission and how they transfer to an Amazon Appstore submission.

It’s really not hard to have your app fly through testing. Just open a developer account on the Amazon Mobile App Distribution Portal today. You can then start submitting your existing APKs to the Amazon store, exposing them to new customers in nearly 200 countries worldwide.

Click here to get started.

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)amazon.com for consideration.

August 14, 2013

Mike Hines

We’ve gotten a few questions recently about Adobe AIR support on Kindle Fire. Here is the quick FAQ:

Do Kindle Fire devices have Adobe AIR embedded?

Yes.

The Original Kindle Fire has Adobe AIR 2.7.1 embedded as a Shared Runtime. The Kindle Fire, Kindle Fire 7” HD, and the Kindle Fire 8.9” HD devices (the Kindle Fire devices running ICS) all have Shared Runtime support for Adobe AIR 3.1.

Can I use a newer version of AIR for my app?

Yes.

The current version of Flash Builder includes support for Captive Runtime, a way that you can package the most recent version of Adobe Air with your app. Everything you app needs to run is packaged directly into the apk. Note: The ADT –package command is now packaging AIR 3.7 and higher as a Captive Runtime by default. See this note from Adobe for more details.

Does Kindle Fire have any Adobe AIR Native Extensions (ANEs)?

Yes.

We have two free Adobe AIR Native Extensions for the Kindle Fire. One for In-App Purchasing, and another for GameCircle integration. You can read the press release here.

 

August 08, 2013

Mike Hines

Join us at the MoDevTablet, Aug 15-17 in Seattle! MoDevTablet is a unique mobile conference event dedicated to tablet design, development, marketing strategies and training. Attending will be more than 30 mobile leaders from Amazon, Rovio, Samsung, Major League Soccer, Microsoft, and others. This should be a good opportunity to learn from some big names that have been doing tablet development for a while, and a good chance to network with hundreds of your peers.

The three day event features:

  • Deep-dive workshops featuring essential tablet design, content, and cross-platfrom development strategies from industry experts, including Amazon's own Mike Hines who will share Amazon’s experience testing thousands of tablet apps.
  • An exclusive sneak peek at the upcoming edition of Angry Birds Star Wars (Episode 1) — a month before the public sees it.
  • Keynotes and industry insights from across the mobile ecosystem.
  • A high-stakes startup competition, Disruptathon, featuring the best mobile startups from Seattle, Portland, and Vancouver squaring off for over $10,000 in prizes.

See the full schedule and speaker list at http://modevtablet.com. Save an additional 25% on your registration with code AMZN13.

 

Want the latest?

appstore topics

Recent Posts

Archive