Appstore Blogs

Appstore Blogs

Want the latest?

appstore topics

Recent Posts

Archive

Showing posts tagged with Android

March 13, 2014

David Isbitski

Founded in 2011 Pixowl, Inc is a mobile games developer headquartered in San Francisco, CA. With the success of its four iOS games, The Sandbox, Greedy Grub, Doodle Grub and Safari Party, Pixowl has made a name for itself in casual mobile games.  Their game, The Sandbox, is a unique world-building and crafting game in 2D with touch controls and access to over 150+ physics elements. Players can craft amazing worlds, create pixel art, chiptune music, electric circuits or just play with physics.

I had a chance to sit down with Sebastien Borget, COO and Co-Founder at Pixowl and ask him about Pixowl’s experiences porting The Sandbox to the Kindle Fire, what type of success Pixowl has seen in the Amazon Appstore, and what it was like implementing many of the APIs available in the Amazon Mobile App SDK.

Betting on the Amazon Appstore pays off

“We have built with Amazon an improved version of The Sandbox which is deeply integrated with Amazon’s GameCircle service for a more seamless experience on Kindle Fire.” – Sebastien, Pixowl

Pixowl was able to submit The Sandbox early on in the Amazon Appstore’s launch.  “We were present at an event organized by Amazon UK to present other developers success stories on the Amazon Appstore.  While it was still in an early stage of maturity we were really impressed by the performance the apps had already seen there. This convinced us we had to be among the early movers and adopt a cross-platform strategy fitted for each partner.  Now, we couldn’t be happier about this decision as the Amazon team has held all of its promises and has been over achieving for us.” recalls Sebastien.

For the Kindle Fire version of The Sandbox, Pixowl decided to integrate Amazon GameCircle allowing a more seamless experience.  GameCircle is a free, cross-platform API from Amazon that provides everything you need to implement achievements, leaderboards, and saved game syncing across any device, regardless of mobile platform. Once you integrate GameCircle, customers can play and interact with other gamers across any mobile device.

“Amazon is proving that Android users could be as engaged with games as on other platforms and made it worth considering alternative distributions models, with  a huge revenue potential.” – Sebastien, Pixowl

“For us, the decision making process was relatively easy. On a business perspective, we wanted to make sure that the platform had enough of our core audience: kids and casual players, from 5 years old to 20+ .  On the technical side, we had to check what level of compatibility with existing Kindle models was, evaluate the adaptations required and make sure we could provide the best game experience on the devices.” says Sebastien.

Quick porting process and easy Amazon Mobile App API integration

Pixowl already had an existing Android version of The Sandbox so moving to the Amazon Appstore was relatively quick.  “The overall porting process took us 2 weeks maximum including development and testing. We are developing in C++ with Cocos2DX and everything worked almost seamlessly.” says Sebastien.

The Sandbox follows the “freemium” monetization model; a free download to all Amazon customers the games utilizes Amazon’s In-App Purchasing API to unlock additional campaigns of level or acquire elements faster.

The API offers a completely Amazon hosted checkout experience to customers and integrates fully with their Amazon account.  They can choose to utilize their 1-Click purchase settings as well as Amazon Coins which now work on both Android and Kindle Fire devices.

According to Pixowl the Amazon Appstore represents 5% of the total downloads volume from all Android marketplaces, but over 20% of their total Android revenues. Some days, it’s could be as high as 50%!   “That’s very close to the performance we’re seeing with Apple iOS!” says Sebastien.

According to Pixowl Amazon is proving that Android users can be as engaged with games as on other platforms.  It made it worth Pixowl considering alternative distributions models, with a huge revenue potential.  “Success is no longer determined just by the amount of downloads, but by their quality. Go for the full experience with Amazon.  It’s really worth it!” says Sebastien.

You can check out The Sandbox in the Amazon Appstore here.  You find out more about the Amazon In-App Purchasing API here and the cross-platform GameCircle API here.

-Dave (@TheDaveDev)

 

March 05, 2014

Chengluo

Reaching More Customers and Making More Money Per User

In a previous case study, you heard about the tactics that Big Blue Bubble uses to monetize their free to play (F2P) games. In this study, we’d like to share how June Software increased their app exposure by going from an iOS-only producer to an iOS and Android platform producer, and how their presence in the Amazon Appstore has racked up higher Average Revenue per User (ARPU) than any other app store.

June Software is a small San Francisco based software company founded in 2008. They build casual, arcade games and e-learning games for children. Initially June Software only built games for iOS where they have titles such as Math vs. Zombies and Guess the Movie, which is ranked #3 worldwide and is #1 in Australia.

June + Unity + Amazon Appstore = Less Friction, More Revenue

To grow their customer base, June Software decided to address the Android marketplace. June chose to port their iOS games to Android using Unity. Unity allows them to build their app once and deploy it to multiple app stores, including the Amazon Appstore.

When we asked about their experience on Amazon apps store, June Software Director Products Saurabh Jain said:  “On Amazon, we have seen 2x times the ARPU [we see] from Google Play, and 1.2x [more than] than Apple AppStore. The overall downloads aren’t there yet, but the revenue makes it a very good market for us.”

 

Increasing Time in Games Increases Potential Income

One effective strategy that Saurabh implemented is that they have integrated Amazon IAP and GameCircle features in their games, which increased potential revenue and player engagement. GameCircle includes features such as leaderboards and achievements that keep players engaged and can increase user session time and session frequency, giving uses more opportunities to make IAP purchases. And it works on Android and iOS. This is exactly what June Software needs for their games available for both platforms.

What can you do?

  • To learn more about using Amazon GameCircle in your Unity apps, read this blog post and refer to this documentation.
  • To learn more about using Amazon In-App Purchasing in your Unity apps, read this documentation. To see how Mad Menace Games used the Amazon IAP Plug-In for Unity, read this post.
  • For additional information on Amazon Unity Plug-ins, read this

 

 

March 03, 2014

Peter Heinrich

Amazon returns to GDC in 2014, offering technical and business-related sessions on building and monetizing apps, fast-track app publication into the Amazon Appstore, and partner showcases.

Learn about cross platform services: from AWS to Analytics

It’s no secret that the most profitable games are the ones that keep their players engaged—usually through a combination of great content and the best use of technology.  On Tuesday, March 18, Amazon is sponsoring a day of eight sessions at GDC, on topics like game architecture, design, technology, and monetization strategies.  You will gain insights whether building a backend, expanding to additional platforms, scaling to handle more players, or exploring new revenue streams. Anyone with an Expo pass can attend, so plan to join us today!

Amazon Appstore Blast: Get your app published in as fast as two hours

In addition, Android developers who have Expo passes will be able to submit an app to the Amazon Appstore for Android and have it reviewed for potential publication in as fast as two hours. Bring your APK file to the Amazon Appstore Blast, side load it for testing and submit the app for expedited publishing.  Amazon evangelists and testers will be on hand to help check compatibility and answer any questions. (Usually no changes are necessary—75% of apps we’ve tested just work.) Come to meeting room 2546 in the North Hall to publish your app and reach millions of new customers.

Hear from successful Amazon partners

Amazon partners will also be present at GDC to show off exciting new projects and advanced features related to Amazon devices and services. Dolby Laboratories will showcase the Dolby Audio API, which helps developers create truly immersive game experiences with enhanced Dolby sound.  Marmalade, the cross-platform SDK and game development ecosystem, will highlight their new platform support for Amazon GameCircle on booth 2510, which makes it fast and easy to incorporate Achievements, Leaderboards and Whispersync for Games into your Marmalade-based game.  In addition, Amazon staff will be on hand in the Marmalade booth to answer questions about Amazon’s developer services.  Amazon’s framework partner GameSalad will also be attending GDC.  Creator of a rapid development platform, GameSalad recently debuted drag-and-drop integration with Amazon GameCircle and our In-App Purchasing API.

Session schedule

10:00 - 10:30 am Introduction
10:30 - 11:30 am AWS Architecture
11:45 - 12:45 pm Game Analytics
12:45 - 1:45 pm Engaging Your Audience with Mobile Push Notifications (w/lunch)
1:45 - 2:30 pm Amazon AppStream - New Gaming Experiences Using the Clouds for Game Streaming
2:30 - 3:30 pm What's Working in In-App Monetization
3:30 - 4:30 pm A/B Testing with Air Patriots
4:45 - 5:45 Large Scale HTML5 Games on Desktop, Mobile & Tablets with KANO/APPS

Register now to attend the Amazon Developer Day at GDC 2014 and come meet the Amazon team.

 

February 28, 2014

David Isbitski

We just gave our case study page a quick update to make it easier for you to navigate and find the developer stories that you are looking for. Check out the case study page to see what other developers are building and learn what they are doing to engage their users, promote their apps, and successfully monetize them.

Take a look at some of the developer stories that we’ve recently featured:

Developers like Sean Sheedy and his two sons Tommy and Ian love to participate in MoDevEast competitions. In their latest competition the team created an app that would let you playback a track that somebody else recorded and while it plays back you can record your own track. Sean mentioned that “It was a no brainer to port this over to Kindle. It basically ran right away. We basically did no work.” Since Kindle is Android, it’s just like any other Android environment using Eclipse. “In development, it’s really cool that I can plug the Kindle in, and it’s just like any Android device. That is REALLY nice,” says Tommy. Read the full article.

https://m.media-amazon.com/images/G/01/DeveloperBlogs/AmazonDeveloperBlogs/legacy/mysingingmonster1._CB520510310_.png

When we spoke with Bryan Davis, the Director of Development of Big Blue Bubble, he shared some general strategy on how they generated 10%-15% better average revenue per user and 25%-30% better IAP revenue in the Amazon Appstore for My Singing Monsters. Davis tells us: “A very important aspect of monetization from free-to-play games is IAP (in-app purchasing). Our strategy is to go for volume, rather than chasing whales.” While average revenue per user (ARPU) is important, Bryan tells us that a high conversion rate is more important for Big Blue Bubble. Read the full article.

https://developer.amazon.com/public/binaries/content/gallery/drpandacropped2.jpg

Others like Tribeplay have been building apps since 2012 and created the series of games under the title Dr. Panda that first appeared on iOS and Android. According to the team, making their Android Apps available on the Amazon Appstore required little to no extra tweaking.” The team added thatone of the best things about the Amazon Appstore is that there wasn’t much work to get our apps on there. We already develop for Android, so getting our games on the Amazon Appstore was a real breeze.” The team ended up doubling their gross revenue in UK, Germany, France, Italy, and Spain. Read the full article.

We plan to make these case studies a regular series, so check back every month for a new case study post, and learn more about how the Amazon Appstore is benefitting developers. If you’re interested in checking out other developer stories, visit our case study page. If you have a specific experience with your apps and games in the Amazon Appstore or integrating the Amazon Mobile Developer SDK that you’d like to share with other developers we would love to hear about it. Just email us your story at mobile-app-marketing(at)amazon.com and you just might end up on our website.

 

 

 

February 27, 2014

David Isbitski

About Kinetic Art

Kinetic Art, an Israeli startup established in 2010, is the publisher of the highly popular cooking app Look & Cook. Kinetic Art's core technology and intellectual property revolves around in-app ecommerce optimization.

Recently, Kinetic Art published Look & Cook to the Amazon Appstore (download here) their first ever-Android version. I had a chance to sit down with Dudu Mimran from Kinetic Art and talk about Kinetic Art’s experience publishing on the Amazon Appstore, what it was like implementing the Amazon Mobile Associates API, and what type of success they have seen so far.

“Look and Cook is a cooking and now a shopping app, thanks to Amazon’s Mobile Associates API. We are building a platform for building cooking apps.” - Dudu Mimran.

Why start with Amazon? A better user experience.

Having found early success on iOS, including an advertising campaign on Pinterest, the team decided it was time for an Android version. For Kinetic Art the most important thing for Look & Cook was ensuring a great user experience. They were confident they could achieve this vision on Kindle Fire as they only needed to target a single device vs a multiple of Android devices. “On Amazon, you can focus a lot on Kindle. With Google Play you have to make sure you having everything looking good on many, many devices. We decided it would be a much easier transition going from iOS to Amazon because of this.”

Look & Cook was able to leverage Amazon to create a culinary lifestyle experience by integrating ecommerce into the food and culinary world. The current version of Look & Cook now has numerous physical goods related to the cooking of the selected recipe. “We created a small shop within each recipe. The tools that are included in the app are recommended by the recipe creator to make the recipe perfectly. In general, this is what our investors have in mind. Our main business model in the future will be ecommerce. We are not there yet, but this is a great step. We are betting everything on ecommerce and we already have purchases. People are buying for sure,” declares Dudu.

“Look and Cook is a cooking and now a shopping app, thanks to Amazon’s Mobile Associates API. We are building a platform for building cooking apps. Amazon’s Mobile Associates API really excited us because we have always wanted to integrate ecommerce but it’s something very hard to do as a startup. Since Mobile Associates launched it has made it much easier for us. We are very happy working with Amazon,” says Dudu.

Amazon Customers: More Engaged

Even though the team has seen a smaller number of app downloads on Amazon vs. iOS people are definitely buying goods and they have already seen differences in the behavior of customers. “We have two types of users on Amazon: those that use it on an ongoing basis and those that love it for cooking. We also see those that love it for the very first time. They are more engaged on Amazon, and if I compare the amount and depth of reviews, then totally, people are much more engaged into the app itself,” says Dudu.

According to the team, once they understood the basics of integrating the API for Amazon Mobile Associates, things progressed quickly. “It was very easy, and it just works!” says Dudu.

“Our main business model in the future will be ecommerce. We are not there yet, but this is a great step. We are betting everything on ecommerce and we already have purchases. “

Figure 1- Look & Cook running on a Kindle Fire HDX 7”

Figure 2- Tapping on Shop will bring up a physical good for that recipe you can buy with the Buy Now button.

Figure 3- Clicking Buy Now takes you right to the product from Amazon without leaving Look & Cook

Figure 4- Look & Cook’s category of recipes

Kinetic Art projecting 8-10x growth

To measure success the team built a detailed level of conversion measurement. For example, they know how many people download the app, navigate through the app, navigated to an extended view, and buy products. In the future, one of the improvements will be creating greater exposure to other random products and not forcing people into the ones the app recommended.

It’s too early to tell how much money the team will be making but already they are seeing purchases. “It’s less important for the number at the moment, behavior is what is very important. Really getting customers used to the behavior is important. They are not accustomed to buying within the app. Now we are working on several angles: distribution, volume of users, exposure of more products, and then quality of product and selection,” says Dudu. 

When asked about potential growth, the team projects as much as 8-10x growth once they start really marketing to users. Their favorite part about working with Amazon? “I would say the personal touch. This is very, very important to us and a huge differentiator. From a user perspective, Amazon customers are much more engaged and seem to be people that buy.”

You can check out Look & Cook in the Amazon Appstore here and find out more about the Amazon Mobile Associates API here.

-Dave (@TheDaveDev)

 

February 25, 2014

David Isbitski

Two years ago, Sean Sheedy, saw an opportunity to teach his boys more about mobile app development. He decided to take his sons Tommy and Ian with him to MoDevEast and participate together in a hackathon. These three were our big winners from the MoDevEast competition. It all started out with Sean bringing paper, pens and other supplies so that the boys could help out by drawing the app’s user interface in prior MoDevEast competitions. Once they came up with the user interface Sean would code whatever ideas the boys came up with.

Figure 1Sean with his sons Tommy and Ian

His oldest son Tommy (ten at the time) would always talk to other attendees and sponsors from the hackathon and would work alongside them. When one of the attendees gave Tommy an iOS app recipe, it wasn’t long after that Tommy had an entire app running and needless to say dad was impressed.

At the recent MoDevEast 2013 conference Tommy brought his friend Devin and his Dad to the conference too, bringing the teams total membership to four. 

“We were trying to decide what app to write,” recalls Sean, “Devin’s Dad and I like to get together and jam on the guitar. We thought about doing an app called Jam Session. The idea that we tried to implement was an app that would let you playback a track that somebody else recorded and while it plays back you can record your own track. I found two API’s called Audio Track and Audio Record for Android. We found that it was possible to do this and then figured out how to make the app work.”

“Tommy investigated early on of what it would take to make this work on a Kindle. He saw that it would be really easy to port over to the Kindle because it’s basically Android,” says Sean. “Tommy saw the benefit of creating the design and then began writing code. We initially built it for Android. The API we ended up implementing was really a simple audio playback. “

Figure 3 Sean and the boys using post it notes to flush out the app user interface

“There was no porting involved – it was intended to run on any Android device and that includes the Kindle.” - Sean

So what was the process like getting their Android app running on Kindle? “It was a no brainer to port this over to Kindle. It basically ran right away. We basically did no work,” Sean says. “The only thing that would have been a deal breaker is if we had used vendor-specific or unpublished APIs. Nothing stood out to be an issue. There was no porting involved – it was intended to run on any Android device and that includes the Kindle Fire. “

What about the Kindle development environment? Since Kindle is Android it’s just like any other Android environment using Eclipse. “In development it’s really cool that I can plug the Kindle in and it’s just like any Android device. That is REALLY nice.” says Tommy. 

   

So what do Sean and the boys envision for the future? “We would like to be able to make it easy to buy the music that people are jamming to in our app. You can start off by buying the music you want to jam to and make that the base track and then add your tracks to it. Amazon’s Mobile Associates API would help us do that.”

“In development, it’s really cool that I can plug the Kindle in, and it’s just like any Android device. That is REALLY nice.” - Tommy.

Did the boys have fun on this father and sons hackathon adventure? “Tommy thought this was our best concept yet. We didn’t win the top prize, but we won the Kindle Fire and some money,” says Sean. “Pretty much every hackathon I’ve gone to I’ve gone to with the kids. The boys are getting a lot from the experience, and I highly recommend this to any tech parent.” 

Amazon Mobile Associates

Interested in selling Physical Goods in your Android Apps using the Amazon’s Moble Associates API that Sean mentions? Be sure to check out our Mobile Associates Blog Posts and Developer Portal for full details.

-Dave (@TheDaveDev)

 

February 19, 2014

Mike Hines

Today, we’re extending Amazon Coins to all Android devices with the Amazon Appstore installed.  Amazon Coins is a way for Amazon Appstore customers to buy and enjoy Android apps, games, and in-app items for less. Customers can save up to 10% on apps and games by purchasing Amazon Coins, while developers continue to get their full 70% revenue share.

More Ways for More Customers to Buy Your Apps

Since the launch of Amazon Coins in the US, UK, and Germany in 2013, customers have already purchased hundreds of millions of Amazon Coins and are actively using them on Kindle Fire devices, representing real dollars to developers.

Now, users of the Amazon Appstore on Android will be able to use Amazon Coins to purchase apps, games, and a broad range of in-app items on any Android device running the Amazon Appstore in the US, UK, or Germany. If a customer is already a Kindle Fire user, he or she will automatically see their existing Coins balance on their other Android devices in addition to their Kindle devices.

How You Can Benefit from This News

We have already seen developers benefit from customers using their Amazon Coins to try out and explore new apps and games. Now that Coins are available to an even larger audience, you can take advantage of the opportunity by making sure your app is available on the largest number of devices.

Check Device Availability

Check your device availability to make sure your app is available to as many Coins-enabled customers as possible.  Checking is easy, and adding supported devices is not much harder. Follow these steps below to get started:

1.      In the Amazon Developer Portal, go to your app’s detail page.

Under the Binary File(s) tab, check the Device Support section for “All non-Amazon Android devices…” (see sample below).

2.      If your app has “All non-Amazon Android devices...” and the Kindle Fire devices listed, then you’re done!

If the entry is missing “All non-Amazon Android devices...” (as shown below), you can change that.

Change this by: a) Modifying your AndroidManifest.xml, b) Creating an ‘Upcoming Version’ in the dev portal, and then c) Submitting the .apk with the new manifest file. Here are the steps to do that:

a.       If you have verified that your .apk will run successfully on some (or most) other Android devices, make sure you reference supported devices in your AndroidManifest.xml file by using <compatible-screens /> or <supports-screens />  (please make sure to increment the version number of your app when you modify the manifest).

b.      Click Add Upcoming Version in the dev portal.

While in the new ‘Upcoming Version’ section, go to the Binary File(s) tab and check all the appropriate boxes.

c.       Upload the .apk with the new manifest.xml, make sure the other tabs are complete (and app version number is different), and re-submit your app.

3.      If your app is not available on Kinde Fire devices, you can use Amazon’s App Testing Service to get the info you need in about a minute. Just drag and drop your .apk into the tool to get your results! You can also check out common reasons for incompatibility, and check out the documentation on our dev portal.

Questions

If you have any questions about Amazon Coins or device availability, please check our dev portal, or contact one of our developer support professionals.

 

February 10, 2014

David Isbitski

Setting up your Kindle Fire device for testing and debugging is a simplified process thanks to Android Debug Bridge (ADB) support.  Since questions around ADB driver support have come up on Stack Overflow and our developer forums I thought it would be beneficial to walk through the setup process. 

Certain development tools referenced in this post are provided by third parties, not by Amazon. Any links to these tools will take you to third-party sites to download and install them.

Getting Started

Note – this post was updated on April 16th, 2014 to reflect changes in the Amazon Android SDK addon.

First, ensure your development computer has at least one package of Kindle Fire system images installed. This is critical because the package includes the vendor identification needed for ADB to recognize any of the physical Kindle Fire tablets.  This is done through the following steps:

  • Ensure you have the Android SDK already installed
  • Launch the Android SDK Manager
  • Under Tools, select Manage Add-On Sites, and enter the following url: http://kindle-sdk.s3.amazonaws.com/addon.xml

  • Select Close and wait for the list of available packages to refresh
  • Select Kindle Fire USB Driver, Kindle Fire Device Definitions, and optionally the Amazon AVD Launcher.

  • Select at least one Kindle Fire image so that vendor information is available for ADB.  I’ve chosen to select the three Kindle Fire 3rd Generation images (API Level 17).

  • Accept the license agreements and install.

For complete information about setting up your development computer and installing the SDK packages, see Setting Up Your Development Environment.

Uninstalling existing Windows drivers

If you installed a previous version of the Kindle Fire USB driver then take the following steps to remove the previous USB device driver and force re-installation of the driver.

  • Connect your Kindle Fire tablet to the USB port on your development computer.
  • On the development computer, from the Start menu, right-click Computer, and then click Manage.
  • In the left pane, under Computer Management, expand System Tools, and then click Device Manager.
  • In the right pane, expand Portable Devices.

  • Next, Right-click Kindle and then click Properties.
  • In the Kindle Properties window, on the Driver tab, click Uninstall, and then Confirm.

  • Finally, unplug your Kindle Fire tablet from your computer.

Enabling ADB on the Kindle Fire

Next, we need to turn on ADB support on our actual Kindle Fire device.  Follow these steps:

  • On your Kindle Fire tablet, go to Settings.
  • On a third-generation Kindle Fire tablet, tap Device.  On a second-generation Kindle Fire tablet, tap Security.  First-generation Kindle Fires already have ADB enabled by default so no action is needed.
  • Set Enable ADB to On, and then accept the pop-up warning message.       

As a security precaution, you should set Enable ADB to Off when you are not trying to connect to the Kindle Fire tablet to your development computer.

Installing Windows ADB drivers

First, ensure you have enabled ADB on the Kindle first as described above.  For the USB driver to install correctly, Windows must recognize the device as Android Composite ADB Interface during installation. If ADB is not enabled, Windows instead recognizes the device as Portable Devices.

Do the following to install the Kindle Fire USB driver:

  1. In your Android SDK directory, at \extras\amazon\kindle_fire_usb_driver, run KindleDrivers.exe, and then follow the instructions on the screen.

  1. Connect your Kindle Fire tablet to a USB port on your development computer.
  2. From Start, click Control Panel, and then select Device Manager.
  3. In Device Manager, under Kindle Fire, verify that the device appears as Android Composite ADB Interface.

Next, do the following to detect your Kindle Fire tablet through ADB:

  1. Open a command prompt window.
  2. Change directory to your Android SDK platform-tools directory.
  3. Run the following commands and confirm that the serial number for your Kindle Fire tablet appears in the list of devices.

adb kill-server

adb start-server

adb devices

If the serial number does not appear after running adb devices, do the following:

  1. Change directory to your Android SDK tools directory.
  2. Run the following command:

android update adb

  1. Change directory back to your Android SDK platform-tools directory.
  2. Run the following commands:

adb kill-server

adb start-server

adb devices

If your Kindle Fire device still does not show up you may need to reboot your development machine and then try again.

Installing Mac OSX ADB drivers

Perform the following steps if your development computer runs OS X:

  1. Connect your Kindle Fire tablet to a USB port on your development computer.
  2. Open a terminal shell and navigate to your Android SDK tools directory.
  3. Run the following command to update ADB.

./android update adb

4. In the terminal shell, navigate to your Android SDK platform-tools directory.

5. Run the following commands and confirm that the serial number for your Kindle Fire tablet appears in the list of devices.

               

If your Kindle Fire device does not show up in the list of devices you may need to reboot your development machine and then try again.

You should now be able to fully test with your Kindle Fire device over the Android Debug Bridge.  For additional information on enabling ADB for Kindle Fire Devices, see Setting Up Your Kindle Fire Tablet for Testing.

-Dave (@TheDaveDev)

 

February 06, 2014

Peter Heinrich

If you develop apps or games with Unity, you may already be using Amazon’s GameCircle plug-in for Unity to integrate cross-platform leaderboards, achievements, and game data synchronization.  The plug-in works on iOS, Android, and Fire OS, connecting your app to Amazon’s GameCircle service.  Its leaderboards and achievements encourage friendly competition and replay, while its Whispersync for Games component backs up game data to the cloud, improving the customer experience.  With GameCircle, gamers won’t lose their progress if they reset their device or buy a new one.

If you haven’t used the GameCircle plug-in yet, you can now download it from the Scripting/Integration section of the Unity Asset Store.  Accessible directly from within the Unity development environment, the Unity Asset Store makes it fast and convenient to add editor or game functionality through third-party extensions like the GameCircle plug-in.

 

 

This official GameCircle plug-in is compatible with iOS and Android phones and tablets, as well as Kindle Fire, Kindle Fire HD, and Kindle Fire HDX devices.  Add the plug-in to your project to access GameCircle leaderboards, achievements, and Whispersync for Games.

In addition, the GameCircle plug-in also works with the Unity Social API, which provides a unified interface to social back-ends such as Game Center and Xbox Live.  Set the active social platform to GameCircle and calls to the Unity Social API will pass through to the GameCircle service in the same way:

#if UNITY_IOS || UNITY_ANDROID
Social.Active = GameCircleSocial.Instance;    
#endif

Since Unity’s Social API is designed to be a generic interface that works across many services, it doesn’t support every feature of every back-end.  GameCircle leaderboards and achievements work seamlessly, for example, but Unity’s Social API provides no hooks for game data synchronization.  To use some advanced features of GameCircle, like Whispersync for Games, simply call the API through the normal GameCircle interface.  It’s easy to use the two APIs side-by-side, and the plug-in includes a sample scene to help you get GameCircle and Unity’s Social API up and running together.

Check out the official GameCircle plug-in in the Unity Asset Store.  It’s easier than ever to get started integrating GameCircle’s leaderboards, achievements, and Whispersync for Games in your Unity-based game for most mobile devices.  You can also visit our developer portal for more detailed information about using GameCircle and Unity together, as well as links to help you call other Amazon services from your Unity projects.

 

January 28, 2014

Jesse Freeman

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

In August of last year we enabled HTML5 developers to publish hosted web apps next to native Android apps in the Amazon Appstore, making HTML5 web apps discoverable to millions of Amazon customers. Starting today, developers can set a list price for their web apps, giving them another way to monetize web content to Amazon Appstore customers in nearly 200 countries across the globe.

Prior to this update, web apps published to the Amazon Appstore were automatically set to free.  In the latest update developers can now set a list price in specific currencies based on the local markets they’re publishing their web apps to. This is great news for developers looking to publish their first web app to the Amazon Appstore, and the feature is now retroactive to all web apps that have already been published. That means existing developers simply need to log into their Developer Account to see an updated “Availability & Pricing” tab with the option to charge for the app.

Now with the ability to set a price for web apps in the Amazon Appstore, HTML5 developers can take part in our Free App of the Day (FAD) promotion. For developers not familiar with this program, qualifying apps gain greater exposure that could drive significant traffic to their apps. Opting into the FAD promotion and being selected enables us to work directly with the publisher to be featured in some of our most visible marketing placements. This includes placements on mobile devices, Kindle Fire, and the Amazon Gold Box Best Deals page, which are complemented by social media exposure including Facebook and Twitter announcements. These placements and the exposure they provide can drive significant traffic to the featured apps and allow the developers to grow their install base quickly. 

To learn more about qualifying for the Free App of the Day program, check out this post on how to get approved, and make sure you opt to have your web app considered for the program during the app submission process.

To republish an existing app as paid, simply edit the ‘Availability & Pricing’ tab and enter a list price, which is already defaulted to free. The same list price changes can also be made to any submission set to “IN PROGRESS” that is waiting to be approved for release.

This is just one new feature we’ve added to help make publishing HTML5 Web Apps to the Kindle Fire best in class. For more information, check out the HTML5 Web Apps detail page

-Jesse Freeman (@JesseFreeman)

 

January 23, 2014

David Isbitski

Amazon allows you to distribute your web apps and mobile-optimized HTML5 websites to millions of Amazon Appstore customers in nearly 200 countries across the globe.  With Amazon’s In-App Purchasing API for JavaScript you can increase revenue by enabling compelling monetization strategies.  This includes a "freemium" model for your app where the app itself is free but you charge a premium for advanced services or functionality.  Your web app can offer customers in app currency, subscriptions and entitlements all through the secure Amazon checkout process.

Getting Started

The first step in implementing In-App Purchasing in your web apps is to download the Amazon Mobile App SDK, then you will submit a new web app to the portal and then finally add a reference to the Amazon Web API libraries in your html. 

The latest versions of the Amazon Web API libraries are hosted by Amazon for you.  The current urls can always be found in the LATEST_URLS.txt file located in the Amazon Mobile App SDK folder.

<!DOCTYPE html>

<html>

<head>

    <title>Button Tester</title>

    <!-- Use of this sample code involves calling jQuery from Google

                 Hosted Libraries and is subject to the terms located here:

                 https://developers.google.com/speed/libraries/terms

    -->

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>

    <script src="https://amazon-web-app-resources.s3.amazonaws.com/v0/latest/Amazon-Web-App-API.min.js" type="text/javascript"></script>

    <script src="https://amazon-web-app-resources.s3.amazonaws.com/v0/latest/Amazon-Web-App-API-tester.min.js" type="text/javascript"></script>

    <script src="js/buttonclicker.js" type="text/javascript"></script>

    <link rel="stylesheet" href="buttons.css"/>

</head>

Once you have referenced these JavaScript files you will have everything you need to access the Amazon In-App Purchasing API from your web app.

Setting Up Your Catalog

Before you can make any In-App Purchase calls you need to have a catalog of SKUs set for your web app to use.  You can add SKUs to your web app’s catalog by opening the Developer Console, selecting Apps & Services, choosing the web app submission you want to add SKUs to and then clicking on the In-App Items link, which will take you to the list of SKUs currently offered in your web app.

There are three types of SKUs you can offer to your customers.

·         Consumables – This type of purchase is available only on the device it was purchased on.  Some consumable examples include in-game currency or an extra power up in a game.

·         Entitlements – This is content that requires access rights such as unlocking additional game levels or offering specific magazine issues.  Entitlements do not expire, are tied to a customer’s Amazon account and are available on any device they access the content from.

·         Subscriptions – These are entitlements that are bound by a period of time which auto-renews at the end of the period and is tied to the customer’s Amazon account. Subscriptions are available on any device a customer accesses the content from. You are allowed to have multiple subscriptions for purchase within your app.

 

Simply click on the type of SKU you would like to add and you will be taken to a new screen where you can provide information about the SKU.  For example, if I wanted to offer an Entitlement purchase for my World of Warcraft Realm Status app to track a single realm I would click Add an Entitlement and then enter a Title and SKU.

 

Next you will need to enter pricing information for your new SKU.  In this case, I want to sell a Track Single Realm for $1.00.  Amazon gives you the option of setting your own list price for each marketplace or it can match the prices based on your entered base price.

 

You can also enter a detailed description, along with keywords for the Entitlement.  Descriptions can be provided in multiple languages and if no translations are given the default English description will be used.

 

You also need to provide images of the item for users along with the image you want displayed upon a successful purchase.

 

Once you  have completed this, click Save, and then Submit In-App Item.  You will be taken back to our In-App Items screen with the new SKU now listed.  In the upper right corner will be a button to download a JSON Data file. 

This JSON file will include a list of our SKUs that will be used by the SDK Tester Tool when we want to simulate a purchase in our development environment.

 

The SDK Tester Tool is included in the Amazon AVD Launcher emulators or it can be installed on a device via the APK included in the Amazon Mobile App SDK under the /Android/InAppPurchasing/tools.

The Button Clicker example includes a similar JSON file that covers all of the purchasable item types.

Purchase Process Flow

The JavaScript In-App Purchasing API is designed to encapsulate the complexity behind the purchase process while providing a fully featured API. While building your app, it is important to understand which parts of the purchase flow the app must implement, and which parts are handled by the Amazon Services library.

Note: In order to protect customers, we also require that you serve the page of your app that uses In-App Purchasing over  SSL/HTTPS. For more information, please refer to the Making Your Web App Safe documentation

Below is a simplified chart explaining responsibilities during the purchase flow.

 

In-App Purchasing API for JavaScript is comprised of three elements:

  • Amazon Services JavaScript - The class/API that manages the interaction between the application and Amazon's native APIs.
  • Purchase Handlers - The object your application provides to respond to callbacks from the Amazon Services JavaScript. They are registered as an observer to the Amazon Services In-App Purchasing API.
  • Receipt Verification Service - An HTTP service you should use to validate the customer's purchase receipt.

The process workflow between your JavaScript calls and the Amazon Services JavaScript library looks something like this:

 

You can deliver static content stored locally or dynamic content that is updated over time for customers.  For more details about the Purchase Process workflow and the types of deliverable content you refer to the Understanding In-App Purchasing for JavaScript API documentation here.

Implementing and Testing Purchase Calls

Now that you understand the process flow, have referenced the proper JavaScript libraries and have created a list of SKUs (or local JSON file) it’s time to call out to the Amazon Services in your own JavaScript.

Every call you initiate via the Amazon Services JavaScript Libraries results in a response received by the corresponding response handler specified in registerObserver(). Each of these responses makes use of a response object and includes the following:

  • GetUserIdResponse - Provides the app-specific UserID for the user currently logged into the Amazon Client
  • PurchaseUpdatesResponse - Provides a paginated list of receipts and revoked SKUs since the offset passed into the initiating request. Receipts are returned in a set and are unordered.
  • ItemDataResponse - Provides item data, keyed by SKU.
  • PurchaseResponse - Provides status on purchases initiated within your app. Any error for a purchase is automatically managed for you by In-App Purchasing API.

There are also purchase handlers, similar to the In-App Purchasing API for Android that have already been implemented for you inside the Amazon Services JavaScript files.  They include the following:

  • onSdkAvailable(onAvailableResponse) - This gets called when the In-App Purchasing services are ready to be called by your code. Production applications should not grant entitlements when they are run in sandbox mode.
  • onGetUserIdResponse(userIdResponse) - Called in response to GetUserId.
  • onItemDataResponse(itemDataResponse) - Called in response to GetItemData. data.itemData is a hash table of itemData objects keyed by SKU.
  • onPurchaseResponse(purchaseResponse) - Called to report the status of a purchase operation. purchaseResponse.purchaseRequestStatus contains the status of the response. If a prior session of the application shut down before a purchase response could be delivered, this function will be called when a new session of the application registers a purchase hander.
  • onPurchaseUpdateResponse(data) - Called with the list of entitlements that the user has been granted. data.receipts contains a hash table, keyed on SKU, that contains the receipts for the IAPs that have been granted to the user. data.revokedSkus has a list of SKUs that the user can no longer use.

Implementation of the Amazon Services JavaScript library is as follows:

  • Enable the API Tester
  • Register a Purchase Observer
  • Check to see if we are running in developer Sandbox Mode
  • Update any existing Purchases
  • Handle Purchase Responses
  • Store Receipts

For example, the Button-Clicker example starts off by calling an initialize() function which will set up an IAP observer using amzn_w.IAP.registerObserver() and then checks the response object to see if the web app is in debug mode.  If it is an alert box is generated telling the user the app is in development mode.  If not it will check for updated Purchases.

Finally, the function sets up handlers for Purchase Response and Purchase Updates Response objects.

// Setup

function initialize() {
    loadPageState();
    amzn_wa.enableApiTester(amzn_wa_tester);
    refreshPageState();

    // Setup button press handlers
    $("#theButton").click(function() { buttonPressed(); });
    $("#redButton").click(function() { redButtonPressed(); });
    $("#greenButton").click(function() { greenButtonPressed(); });
    $("#blueButton").click(function() { blueButtonPressed(); });

    // Ensure we can call the IAP API
    if (amzn_wa.IAP == null) {
        console.log("Amazon In-App-Purchasing only works with Apps from the Appstore");
    } else {
        // Registers the appropriate callback functions
        amzn_wa.IAP.registerObserver({
                 // Called the the IAP API is available
                'onSdkAvailable': function(resp) {
                    if (resp.isSandboxMode) {
                        // In a production application this should trigger either
                        // shutting down IAP functionality or redirecting to some
                        // page explaining that you should purchase this application
                        // from the Amazon Appstore.
                        //
                        // Not checking can leave your application in a state that
                        // is vulnerable to attacks. See the supplied documention
                        // for additional information.
                        alert("Running in test mode");
                    }

                    // You should call getPurchaseUpdates to get any purchases
                    // that could have been made in a previous run.
                    amzn_wa.IAP.getPurchaseUpdates(state.lastPurchaseCheckTime != null ?
                            state.lastPurchaseCheckTime : amzn_wa.IAP.Offset.BEGINNING);
                },

                // Called as response to getUserId
                'onGetUserIdResponse': function(resp) {},

                // Called as response to getItemData
                'onItemDataResponse': function(data) {},

                // Called as response to puchaseItem
                'onPurchaseResponse': function(data) { onPurchaseResponse(data); },

                // Called as response to getPurchaseUpdates
                'onPurchaseUpdatesResponse': function(resp) { onPurchaseUpdatesResponse(resp);
            }
        });
    }
}

$(function() {
    initialize();
});

Once initialization is done you can make purchase calls by passing in your SKU title.  The example code here is making a call to purchase the more “sample.clicks” SKU.

function buyClicks() {
    if (amzn_wa.IAP == null) {
        alert("You are out of clicks, however Amazon In-App-Purchasing works only with Apps from the Appstore.");
    } else if (confirm("Buy more clicks?")) {
        amzn_wa.IAP.purchaseItem("sample.clicks");
    }

The purchaseItem function will return a response object you need to handle and check for success or failure.

// purchaseItem will cause a purchase response with one receipt
function onPurchaseResponse(e) {
    if (e.purchaseRequestStatus == amzn_wa.IAP.PurchaseStatus.SUCCESSFUL) {
        handleReceipt(e.receipt);
    } else if (e.purchaseRequestStatus == amzn_wa.IAP.PurchaseStatus.ALREADY_ENTITLED) {
        // Somehow we are out of sync with the server, let's refresh from the
        // beginning of time.
        amzn_wa.IAP.getPurchaseUpdates(amzn_wa.IAP.Offset.BEGINNING)
    }
    refreshPageState();
}

If it gets back a status of PurchaseStatus.SUCCESSFUL it will handle the receipt returned in the response object like so: 

// purchaseItem will cause a purchase response with one receipt
function onPurchaseResponse(e) {
    if (e.purchaseRequestStatus == amzn_wa.IAP.PurchaseStatus.SUCCESSFUL) {
        handleReceipt(e.receipt);
    } else if (e.purchaseRequestStatus == amzn_wa.IAP.PurchaseStatus.ALREADY_ENTITLED) {
        // Somehow we are out of sync with the server, let's refresh from the
        // beginning of time.
        amzn_wa.IAP.getPurchaseUpdates(amzn_wa.IAP.Offset.BEGINNING)
    }
    refreshPageState();
}

In this Button-Clicker example we are setting a Boolean value to true based on a successful purchase.  In a real web app you would want to save the purchase receipt to local storage or back to your own cloud storage so you can verify purchase receipts in the future.

Using the SDK Tester App

If you are running in the development Sandbox Mode we mentioned above calls to the Amazon Services will go through the local SDK Tester App instead of to the Amazon Cloud. 

This allows you to simulate purchasing SKUs in your web app without having to spend any actual currency.  You have the option to test a purchase inside the browser itself using the included Amazon Service JavaScript Libraries.

In this scenario you need to ensure your JSON file holding the SKUs is located in the same folder as you web app.  If you want to test the In-App Purchase on a device you can do so using the SDK Tester tool and a JSON file that has been copied to the SD Storage.

For a complete video walkthrough of the purchase process and SDK Tester tool you can watch the following screencast on our Youtube Channel.

Conclusion

By utilizing the Amazon In-App Purchasing API for JavaScript you are able to quickly implement and test purchases through your existing web app.  Customers can take advantage of in app items, subscriptions and entitlements you might offer all through the secure Amazon checkout process.

Be sure to check out our HTML5 Web App materials on the developer portal to get started today!

-Dave (TheDaveDev)

 

 

January 22, 2014

Mike Hines

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

Getting the right exposure for your app is a key ingredient to making it successful. Amazon already has several programs which developers can leverage to help drive visibility to their apps, and developers who want even more visibility think outside the box to tailor their customer experiences to increase engagement with their apps. Tribeplay is one of those game publishers who did just that, by issuing a price discount promotion that drastically increased their revenue.

The team which is based out of China has been building apps since 2012 and created the series of games under the title Dr. Panda that first appeared on iOS and Android. According to Tribeplay, making their Android Apps available on the Amazon Appstore required “little to no extra tweaking.” Tribeplay added that “one of the best things about the Amazon Appstore is that there wasn’t much work to get our apps on there. We already develop for Android, so getting our games on the Amazon Appstore was a real breeze.”

 

 

 

 

The games are available worldwide, but the team wanted to increase sales in Europe so they discounted the price of their apps by more than 50% in select countries. By doing so, Tribeplay saw their gross revenue more than double in UK, Germany, France, Italy, and Spain.

So how did the team accomplish this? Tribeplay ran banners highlighting their price promotion, which caught the attention of customers in the Amazon Appstore. When the Amazon Appstore recognized that their app was trending in customer popularity, Amazon assisted by providing more visibility for the app. “The suite of tools for promotions and sales [that Amazon provides] to help market our apps on the Amazon Appstore more effectively are very valuable.” said Tribeplay, the creators of Dr. Panda. The team saw the app’s sales more than double during the time period, when they increased the visibility of their app. 

Aside from the sales uplift, Dr. Panda was also able to reach a new and unique developer audience on Amazon. “Amazon Appstore is a fantastic platform for us and continues to get better. Through Amazon we’ve been able to reach a whole new demographic and really succeed with them. The fact that the Kindle Fire device line is so integrated to the store has also been a great benefit for both developing and marketing our apps with Amazon customers in mind.” The teams recently joined the Appstore Developer Select program and integrated the Mobile Ads API and are excited to see how the results will turn out. By participating in these programs, the team will receive additional impressions for their app, home page placements, and customized ads for their app in the US.

So how can you increase visibility? Besides having your app perform well, you can ensure your app qualifies for the Appstore Developer Select program, or get your app featured in the Free App of the Day program. If you’re looking for something similar to what Tribeplay did with their promotion, check out the Developer Promotions Console, which allows you to easily discount your apps. Getting your app onto these programs only requires a couple pre-requisites and they all aim at providing visibility for your app. For example, for your app to qualify for the Appstore Developer Select program, it must utilize relevant API’s such as Amazon In-App Purchasing, Amazon Mobile Ads, and Game Circle that all contribute to enhancing the user’s experience in your app. If you need help with these requirements we have a lot of resources available as well. “The Amazon team has always been amazing with their help and advice. Questions we ask are always answered promptly and accurately, and any problems we’ve had have been solved super quickly.” says Tribeplay.

 

January 17, 2014

Mike Hines

Dolby has just released a new Dolby Audio Plug-In for Kindle Fire HD and HDX that helps developers deliver even better audio to their users. Developers can now select an audio profile to optimize the sound based on the kind of audio being delivered. This means optimized audio setting for voice during your app’s dialog, and optimized settings for broad-range sound during your app’s action sequences. All with just a few lines of code you can insert into your app, no re-architecting required!

This isn’t the first time Amazon and Dolby have collaborated. Amazon and Dolby worked together on hardware and software enhancements for the Kindle Fire HD and HDX line of tablets for their launch, delivering Dolby Digital post-processing for native apps. But now Dolby has raised the bar again with Dolby Digital Plus, and the new Dolby Audio APIs for Kindle Fire. (Fear not, Unity fans. There is a Unity plug-in for you too.)

When you use the Dolby Audio Plug-in APIs, you can choose from four audio profiles to tune your sound profile to match the audio use in your app. For example, you can tune your app to use the Voice profile for dialog-heavy parts of your app, and the Game profile for first-person-shooter action. Here are the profiles you can choose from:

-Music: Applies equalization and dynamic range control to enrich instrumental and vocal quality in recorded music

-Movie: Clarifies the dialogue while providing the best representation of the full dynamic range of the program

-Game: Creates a ‘live’ space to best bring out the effect of fast-moving objects in the audio

-Voice: Customized for the reproduction of speech patterns and the tonal range of the human voice

This lets you deliver an optimized audio experience to your users, and it takes very little time to do so. Here are the high level steps to implement this API:

1.      Load the Dolby JAR file and import the DolbyAudioProcessing libraries

2.      Create a OnDolbyAudioProcessingEvent listener

3.      Call getDolbyAudioProcessing to get an instance of the Class (only done once for lifetime of the app)

4.      Wait for the app to connect to the DolbyAudioProcessing handler

5.      Instantiate the audio profiles as needed to in your app (Voice for dialog heavy parts, Game for FPS parts, etc…)

6.      Restore default audio behavior if your app is in the background

7.      Restore default audio behavior by releasing the Dolby instance on destroy

Setting the sound profile to use at different points in your app is pretty easy (see below).

    

You can set profile to Music, Movie, Game or Voice as appropriate at that location in your app.

Overall, integrating the API takes about an hour and does not require re-designing any logic or workflow. It’s a small investment for a big win.

You can download the free sample apk right away so you can hear for yourself how nice this is. To download the API, you need to sign up for a free developer account with Dolby (which took me less than 30 seconds).

Dolby has done a good job of making this easy to deploy. When you download the API package, you’ll get everything you need to get started, including javadocs, a quick start guide, and sample code showing exactly how to invoke Dolby APIs. You can download the free Dolby Audio Plug-in on this page, and learn more about Dolby Developer Services on their developer home page here.

 

January 16, 2014

Peter Heinrich

A/B Testing is about using data to challenge assumptions and test new ideas. Watch this video to hear about the “happy accident” that inspired an important A/B test we hadn’t considered and how it led to an increase in retention and monetization for Air Patriots.

Created in-house at Amazon, Air Patriots is a plane-based tower defense game for iOS, Android, and Fire OS. The development team uses A/B Testing to experiment with new ideas, so I recently I sat down with Senior Producer Russell Carroll and Game Development Engineer Julio Gorge to discuss how they used the service on Air Patriots. They described for me the design choices they tested, how the experiments were constructed, and what benefits they derived from the results.

Check out the conversation to learn how Russell and Julio’s experience on Air Patriots made them advocates for A/B Testing in every mobile app, especially those offering in-app purchase.

 

January 13, 2014

Peter Heinrich

Closely following the launch of the A/B Testing service for iOS, Android, and Fire OS apps, we have just released an update addressing one of our most popular feature requests. You can now track up to ten goals in a single A/B test, which means you can see how your experiment affects up to ten metrics at once. This is especially powerful when the metrics aren’t entirely independent and it would be difficult to create A/B tests to isolate them from each other. Let me illustrate with an example.

Say you have a mobile game that generates revenue using a combination of in-app purchasing (IAP) and mobile ads. You know that player engagement is the key to monetization, so you decide to test a hunch that more challenging levels will keep players in the game longer.

You create an A/B test project for your app, adding an experiment that allows you to adjust the overall difficulty of each level. Since you can have up to five variations for each test (see A/B/n testing for more information), you decide to measure player engagement when the game is much harder, slightly harder, slightly easier, and much easier than normal. “Normal” will be a variation of its own, called the Control.

In this case, you create a test variable called difficultyMultiplier, which your code can access and use to modify its behavior for each user. For the control group (60% of players in this example), difficultyMultiplier is 1.00, indicating no change from the default difficulty. The other groups see a slightly different value for difficultyMultiplier, depending on how hard the game should be for those players.

To measure the effect of changing this variable, you define a view event and a conversion event, which your code records as they happen and reports to the A/B Testing service. For the purposes of this test, you consider it a view whenever a player starts a new game session. A conversion is registered if he/she plays for five minutes or more. The A/B Testing service tabulates these events by variation and reports on the conversion rate for each group of users.

Say you run the experiment and discover your hunch was right: harder levels are played longer, leading to an increase in the average amount of time players engage with your game. The logical next step would be to ratchet up game difficulty. But what if improved engagement isn’t the whole story? Changing the difficulty may affect other metrics you care about, but you can’t always tell based on a single type of conversion event. For example, how does this change the way people share their progress on Facebook, a major customer acquisition channel? How does it impact ad click-thru rates? Does it impact how users rate the game? Setting multiple goals can help you detect such unintended consequences and choose the variation that delivers balanced results.

Now that the latest version of the A/B Testing service allows a single view event to be associated with up to ten different conversion events (goals), you can measure and compare the impact of each variation along more than one axis. Each goal can be maximized or minimized independently. For example, here you are trying to maximize game sessions, in-app purchases, ad clicks, and Facebook shares while minimizing one-star reviews, all in the same experiment.

When generating reports, the A/B Testing service includes the results for all goals associated with an experiment, organized by variation. The service highlights the “best” variation with respect to each goal, so you can tell at a glance which one resulted in the most game sessions, for example (Variation C), or maximized shares on Facebook (Variation A).

When goals overlap or depend on one another, as they do here, there may be no single variation that definitively “wins” every goal. A report like the one above, however, can help you make an educated choice, weighing the trade-offs of each alternative. In this case, Variation B looks like a good candidate since it succeeded in minimizing one-star reviews and came close to winning several other goals as well. When you look at the big picture, Variation B appears to have the best performance overall.

The orange checkmarks indicate which results achieved statistical significance—that is, where there are enough measurements to be confident that the observed change is actually due to the test variation. More details are available for each individual goal, so you can drill down on the ad clicks, for example, associated with each variation:

With the addition of up to ten goals for a single experiment, the A/B Testing service expands its flexibility and becomes an even more powerful tool for refining your app and optimizing it based on customer behavior. For more information on A/B testing, multiple goals, and how you can incorporate them into your mobile app or game, check out the online documentation.

 

Want the latest?

appstore topics

Recent Posts

Archive