0% found this document useful (0 votes)
379 views142 pages

Developers Guide To The Amazon Appstore

Amazon Developer Guide

Uploaded by

JuanVela
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
379 views142 pages

Developers Guide To The Amazon Appstore

Amazon Developer Guide

Uploaded by

JuanVela
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 142

Developer’s

Guide to the
Amazon
Appstore
Publishing, promoting,
and making money
with your app

1
Free content to help intrepid app developers.

To acquire a free digital download of this book, visit the Amazon Appstore and search the title,
“Developer’s Guide to the Amazon Appstore.”

Content by Amazon.com, Inc.


Printed by PrintWest Inc.
6101 238th Street SE
Woodinville, WA 98072

www.developer.amazon.com

Copyright © 2017 Amazon.com, Inc. and/or its affiliates. All rights reserved. Amazon, the Amazon
logo, and Amazon Appstore are trademarks of Amazon.com, Inc., or its affiliates. Amazon’s
trademarks and trade dress may not be used in connection with any product or service that is not
Amazon’s, in any manner that is likely to cause confusion among customers, or in any manner that
disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of
their respective owners, who may or may not be affiliated with, connected to, or sponsored
by Amazon.

This book or parts thereof may not be reproduced in any form, stored in any retrieval system,
or transmitted in any form or by any means—electronic, mechanical, photocopy, recording, or
otherwise—without prior written permission of the publisher, except as provided by United States
of America copyright law.

Cover design, formatting, and editing by Indigo Slate.

The content of this book and the website links contained herein are simply for educational purposes,
and are not intended to replace professional business advice or guarantee business outcomes. Every
effort has been made to ensure that the content provided in this content is accurate and helpful for
our readers at the time of publishing. However, this is not an exhaustive treatment of the subjects.
No liability is assumed for losses or damages due to the information provided. You are responsible
for your own choices, actions, and results.

First Edition
June 2017

2
3
Contents

4
Foreword 7

Why sell in the Preparing and testing


1 Amazon Appstore? 10 6 your app 76

2 Migrating your existing app 16


7 Publishing your app 88

3 Creating a successful app 26


8 Promoting your app 108

4 Building your app 40


9 Engaging and
retaining users 116

5 Monetizing your app 62


10 Measuring and optimizing
your app 132

Conclusion 140

5
6
Foreword
Dear Reader,

Congratulations! You’ve taken the first step to We built the Amazon Appstore to help
launching your app in the Amazon Appstore. We developers like you create apps and games that
want to make this process easy and enjoyable— are creative, cutting-edge, useful, and engaging
and give you the tools you’ll need to help your to users. And we built the Amazon Appstore to
app find its audience. help the millions of Amazon customers discover
new apps that will delight them—whether
As a Developer Evangelist at Amazon—and they’re calculating the tip at a restaurant or
an app developer myself—I love sharing my battling space aliens on a bus ride.
experience and learning from the experience of
other developers—from the old alums with a Do you have questions or advice for your fellow
continuous stream of successful apps to those developers? I’d love to hear from you. Follow me
who are new to the business and just starting on Twitter (@MikeFHines) and keep up with the
out. Working together makes our work better. Amazon Developer blog to stay up-to-date with
the latest news and advice from my team.
Building an app isn’t easy, and the work
doesn’t end at launch. That’s why we wrote Good luck, and welcome aboard.
this book to help you set up your app in the
Amazon Appstore, and then to plan what Mike Hines
comes next. From development to determining
the look and feel of your app to finding the
right audience, growing that audience, and
making a profit, this book is designed to guide
you through the entire process and share what
we at Amazon have learned from our own
experience working with developers.

7
How The content in these pages has been created
to serve both novice and experienced app
developers. Each chapter covers a stage in the

to use
app development process, so you can reference
relatively self-contained segments, reading
along as you move through creating, testing,
publishing, and promoting your app. You can,
of course, choose to read through the entire

this
contents of the book end to end, if that’s
your preference. The order in which topics are
covered in these pages is largely sequential,
except for the chapter on the app migration

book
process. This chapter is placed early in the book
to provide quick access to those of you who
have an existing Android app that you’re looking
to migrate to the Amazon Appstore. You can
find this information in Chapter Two: Migrating
your existing app.

Most chapters include a “Challenges” section


that contains a list of some of the common
challenges you might run into as a developer
during that specific phase. This outlines the
content in the chapter and also provides a
point of reference for if/when you encounter
a specific challenge.

8
Sample Preflight checklist Sample Challenges
you might face

□□ Select an Android app to publish □□ Learning how to get started with migration

□□ Determine image assets and metadata □□ Finding documentation and guidance


for your app
□□ Quickly identifying what changes, if any, are
□□ Create an Amazon Customer account necessary

□□ Create an Amazon Developer account

In each chapter, you’ll also find a “Preflight You’ll find hyperlinks within these pages
checklist.” This provides a quick view into that link to external resources like detailed
what you need to accomplish before starting requirements, specifications, or references.
on the actions discussed in that chapter— It’s a good idea to make use of these links,
particularly for readers who have bypassed as the information can change from time to
the preceding chapter. time. Keep yourself current to ensure your app
development process is a smooth one.

9
10
Why sell in
the Amazon
Appstore?
The Amazon Appstore connects content
creators with Amazon’s quality customer base
and trusted brand, putting your apps in a prime
position to succeed. Because Fire OS is based
on Android, the apps and games you publish
through the Amazon Appstore will be available
on millions of Fire tablets, Amazon Fire TVs, and
Android devices in 236 countries and territories.
If an app runs on Android, it takes little or no
effort to get it to run on Fire OS.

And it’s simple to sell in the Amazon Appstore.


This is by design. Amazon provides developers
with a pain-free publishing process along with
unique ways to launch, promote, and monetize
their apps.

11
Trusted Amazon has 300 million customer accounts For Fire OS, Android, and Alexa developers,
brand worldwide and has carefully built its brand there has never been a better time to publish in
and customer base. As a result, customers the Amazon Appstore. With Amazon’s powerful
using the Amazon Appstore are the most and popular streaming media players, you’re
likely to spend money on your app or game. able to reach more customers than ever.
Here’s one example: 64 percent of mobile
gamers in the Amazon Appstore spend money
on mobile games, compared to 37 percent in
the Google Play Store.1

Millions 64%
of devices of mobile
gamers

85%
compatibility
236
territories

Innovative In today’s largely commoditized app store 1-Click purchasing technology. The IAP API
monetization landscape, Amazon remains committed to makes it easy to offer subscriptions and digital
models innovating the ways developers monetize their content—such as in-game currency, expansion
apps. Whatever your platform, Amazon provides packs, upgrades, consumables, and more—for
Fire OS, Android, and iOS APIs that help you purchase within your app.
earn more money and create better experiences
for your users. In the Amazon Appstore, you’ll Amazon also helps you extend the sales
generate more revenue from your apps and experience beyond your app. With Merch by
games by using Amazon’s unique monetization Amazon, you can provide branded merchandise
services, including the In-App Purchasing (IAP) for your customers—designed by you, and
API, which increases conversion with Amazon’s produced, sold, and shipped by Amazon.

http://bit.ly/2nBwG2K
1

12
How it works
1. Upload your app
Drag your Android application package
file (the APK) into the upload box, or Test your app
browse to choose the APK to test.

2. Review results </>


Receive the test results, along with
support documentation if you need to
make changes. Test results will be saved
and available for future use if you’re
logged in as a registered user of the site.

3. Submit your app


Submit your app to the Amazon Appstore
directly from the test results page.

Easy It’s easy to bring your Android application These results will immediately identify potential
migration package (APK) to Amazon devices. In fact, issues with your app’s compatibility. If there are
85 percent of the Android apps that we’ve none, you can submit your app right away. You
tested work as-is in the Amazon Appstore, can also integrate Amazon APIs—like In-App
with no additional development required. Purchasing, GameCircle, or Amazon Mobile
Want to find out how your app will work? Ads—to provide a richer customer experience
Access the free compatibility test and get and increase monetization.
results in just 90 seconds.2

http://amzn.to/2n8Puel
2

13
Whatever your
platform, Amazon
provides Fire OS,
Android, and iOS
APIs that help you
earn more money
and create better
experiences for
your users
14
Reach Amazon’s latest Fire tablets ship with Fire OS
more people 5, bringing the best entertainment experience
on more on any tablet, with an updated user interface,
devices
integration of Amazon exclusive services, and
hundreds of new and upgraded features. Fire
OS 5 is based on Android 5.1 (Lollipop) and API
22, making it more compatible than ever with
existing apps written for other Android devices.
Each Fire tablet home screen includes dedicated
content pages for books, games and apps,
video, music, audiobooks, and periodicals.

Each page is designed to engage users and


make apps the center of the tablet experience.
Dynamic content lists are personalized for each
individual consumer, allowing your app to be
discovered by the right customers. Fire tablets
are available worldwide—in the U.S., U.K.,
Germany, France, Italy, and Spain.

Amazon’s Amazon is dedicated to maintaining consistent


commitment quality in the apps we offer. As a developer,
you’ll receive the support you need to create
and maintain your apps. With the continued
exponential growth of the Amazon Appstore,
ease of app publishing, and the added benefits
of monetization, discoverability, and cross-
platform support, it’s easy to decide to publish
your app in the Amazon Appstore.

15
TWO
16
Migrating
your
existing
app
Migrating your existing app to the Amazon
Appstore is a fast process, but there are some
steps you need to take first to prepare for a
successful submission. This chapter covers
the important requirements for getting your
app ready. These include determining the
compatibility of your app and any necessary
modification or level adjustments for associated
APIs. You’ll also want to review the test criteria
before submitting your app for approval.

17
Preflight □ Select an Android app to publish
checklist
□ Determine image assets and metadata for your app

□ Create an Amazon Customer account

□ Create an Amazon Developer account

18
Challenges □□ Learning how to get started with migration
you might face
□□ Finding documentation and guidance

□□ Quickly identifying what changes, if any, are necessary

19
Amazon Before you begin the submission process, Checklist provides an overview of these
Appstore it’s a good idea to review the requirements requirements and links to more detailed
submission and guidelines for app submission.1 information on app content guidelines,
requirements
The Amazon Appstore Presubmission icon and screenshot image requirements,
testing requirements, and more.
1
http://amzn.to/2nBQZ01

1. Review the Amazon Appstore 3. Follow the instructions on the


Presubmission Checklist Submitting Apps to the Amazon
Appstore page to publish your app
2. Pre-test your app

2 4

1
Log in and 3
create your Enter general Enter app
app Enter availability & descriptions
information for
pricing Information
your app

6 8
5 9

Assign a Associate your app with


Upload content a security profile
Submit your app
images and
media assets
rating
7 (GameCircle or Amazon
device messaging only)
to Amazon

Upload
APK files
20
Migrating In most cases, if you have an Android app
an existing published in the Google Play Store, you won’t
Android need to make any modifications to get your app
app to the
to work on Fire OS devices. In fact, 85 percent
Amazon
Appstore of migrated apps that we tested work as-is with
the Amazon Appstore. However, there is a small
subset of Google APIs, services, and features
that will require modifications, as covered in
the next section.

2
http://
amzn.to/2oXOtC2
Steps for migrating an existing 3
http://
amzn.to/2n93ch9
Android app: 4
http://amzn.to/2o0zZUF

1. Migrate any APIs, services, and


features to those supported by Fire
OS, if necessary.2

2. Update your minimum API level as


required for the Fire OS devices that
you plan to support.3

3. Remove any unsupported features


from your app.4

4. Recompile your app.

5. Submit your app to the Amazon


Appstore.

21
Supported If your app uses any APIs, services, or features
APIs, that aren’t supported by Fire OS, you’ll need to
services, and update your code to use compatible APIs. The
features
table on the next page lists APIs, services, and
features that you’ll need to modify to make
your Android app work with Fire OS.

85% of migrated apps that we tested


work as-is with the Amazon Appstore

Supported Android API versions have an “API level” value. If you’re developing your app with the latest
API levels Fire OS versions are based upon Android API API version, your app might not be compatible
versions, and therefore have an effective with older Fire OS devices. If this is the case,
“maximum API level.” Amazon recommends you’ll need to modify your implementation
setting a minimum API level of 10 to ensure to avoid calling unsupported methods on
compatibility with all Fire tablets. For older generation devices. For the most up-to-
information about the Android OS versions date information, see Check System Version
for the Fire tablets, see Fire Tablet Device and at Runtime in the Android training guide
Feature Specifications.5 Supporting Different Platform Versions.6 For
details about specifying API levels in your app,
see Specify Minimum and Target API Levels in
the Android training guide.7

5
http://amzn.to/2pCBzxD
⁶http://bit.ly/2oVORo8
⁷http://bit.ly/2oW3rMp

22
8
http://amzn.to/2nUXzjQ
9
http://amzn.to/2n8PZFf
API, Service, or Feature Action 10
http://amzn.to/2nBx950
11
http://amzn.to/2f4QhsW
12
http://amzn.to/2n8M8rx
Use Amazon Maps API 8
13
http://amzn.to/2o0MQGj
Google Maps 14
http://amzn.to/2nBJg1R
Migrating an App from Google Maps v29 15
http://amzn.to/2o0spJF
16
http://amzn.to/2oPnaen

Google Cloud Messaging Use Amazon Device Messaging10

Use Amazon In-App Purchasing API11


Google Play In-App Billing
Migrating from Google Play In-App Billing (IAB)
v3.0 to Amazon In-App Purchasing (IAP) v2.012

Google Play Games


Use Amazon GameCircle13
Services

GPS geo-location on
Use Wi-Fi geo-location or code your
tablets without a mobile
app to degrade gracefully
data plan

Any phone feature Code your app to degrade gracefully

Device orientation See Device Orientation14

See Android Intents Supported


Unsupported intents
on Fire Tablets15

Unsupported screen sizes Declare support for screen sizes in the


and layouts AndroidManifest.xml16

23
App Before submitting your app to the Amazon Unsupported features
compliance Developer Portal, you need to know which ƒƒ Custom or third-party on-screen keyboards
features aren’t supported by the Amazon (use the default on-screen keyboard instead)
Appstore. See the list of unsupported ƒƒ Home screen widgets that manipulate the
features to the right. user interface
ƒƒ disable_keyguard permissions
Note: If your app uses an API or hardware ƒƒ Lock screen customizations
technology that isn’t supported on Fire OS, we ƒƒ Wallpapers
recommend that you remove or gracefully degrade ƒƒ Screen savers
any feature that requires that service. For example, ƒƒ Themes
your app might display a message stating that the
feature isn’t currently available on the device.

Testing your When you submit your app to the Amazon


app Appstore, the app must pass a series of tests App Testing Service
to qualify for publication. Take a look at the
Test Criteria for Amazon Appstore Apps before 1
1
2
1 2
you submit your app for approval. That way
17
2 3
3
4
3 4 5
you can avoid time lost in getting your app to 4 5 6
5 6 7
market. 6 7 8
7 8
8

Amazon’s App Testing Service will check your


submission for API compatibility, including
unsupported API usage, and perform a device
test using actual devices. Once all tests have
passed, you can submit your app for publication
directly from the test portal. See App Testing
Service for additional information and to start
the testing process.18
17
http://amzn.to/2pCBNog
18
http://amzn.to/2n8Puel

24
Publishing Once your app is fully migrated and
your app tested, you’re ready to submit it to the
Amazon Appstore for publication. Log Choose a platform
in to your Amazon Developer account,
enter the appropriate information for
your app’s listing, and upload your app.19

You’ll also need to provide screenshots and


large and small icons for promoting your app
on the Amazon Appstore. You can optionally
upload a promotional image and videos. For
more information, see Image Asset Guidelines Steps for publishing your app:
for Appstore Submission.20
1. Log in and create your app.
You can see the submission process in action
by watching this 2-minute video.21 Then find 2. Enter general information for

step-by-step instructions in Chapter Seven: your app.

Publishing your app.


3. Enter availability and pricing
information.
http://amzn.to/2pSlpwl
19

http://amzn.to/2oW6Mem
20
4. Enter app description(s).
http://bit.ly/2pgEGeT
21

5. Upload image and media assets.

6. Assign a content rating.

7. Upload Android application package


(APK) files.

8. Associate a security profile


(GameCircle and Amazon Device
Messaging only).

9. Submit your app.

25
26
Creating a
successful
app
To create a successful app, start by asking
two fundamental questions:
What problem is your app solving?
Who is the target audience?
The answers to these questions will be the keys
to developing your app’s core features, as well
as identifying which existing apps to include
in your competitive analysis. As you look to
develop an app that users will want, don’t lose
sight of the elements that drive customers to
adopt your app into their daily lives—like user
experience, performance, network connectivity,
and security. And never underestimate the
importance of testing and feedback to the
success of your app.     

27
Preflight □ Define the problem you want to solve or the story you want to tell
checklist
□ Identify your target audience

28
Challenges □□ Developing an app that’s appealing to users
you might face
□□ Identifying the correct audience

□□ Focusing on core features

□□ Understanding the importance of performance,

connectivity, and security

□□ Getting and responding to user feedback

29
Define the What apps have a chance at success on the You might be tempted to skip the problem
problem Amazon Appstore? Any app that solves a definition step if your app is a game or a novelty
perceived problem, saves time, and does it app. But apps created for pure entertainment
simply. The difficulty isn’t always in identifying serve functions too. Is your game’s intent to fill
the need or the solution; sometimes it’s staying five minutes of time while the user waits in line?
focused on the intent of that solution without To draw the user through an epic saga of high
getting distracted before the app is finished. adventure? Even the simplest problem definition
Taking the time to clearly define the problem still offers vision and focus.
also helps keep efforts on track. And, eventually,
it leads to a solid app.

making

Defining the problem

30
Identify Before you begin developing or even planning
your target your app, consider your audience. Think about Research
audience & planning
the profile or persona of those who will use
the app, and how your solution will solve the
problem you’ve defined. This is especially
important when you’re not a part of your
Product
target audience. Knowing the customers who discovery
will be using your app provides a framework
for determining the features that will be
most important to those users. This keeps
development efforts focused on what’s best Ordering
process
for your customers.

User expectations of an app’s functionality will


differ across platforms. This can be especially Product
shipping
true with Amazon devices, which range from & delivery

small handheld tablets to high-definition TV


displays. The device being used should be a key
consideration in determining how your app will
function for prospective users. Returns

It’s worth bringing users into the process early—


even before the first line of code is written. Start
a conversation with your users to get insight
about their needs. Build feedback mechanisms Refunds

into your app, and ensure your team is paying


attention to those responses as they come in.

Customer experience journey

31
Plan, To create a reliable app, you need to plan ahead. It’s easy to get caught up in the bells and
starting Start with the core features of your app—the whistles that you believe will wow your users.
with core aspects most effective at solving the problem Keep in mind, however, that snazzy UI and
features
you’ve defined for your target audience. These innovative interfaces don’t matter as much as
features are the critical pieces of your solution; the functionality at the core of your app. These
without these, your app fails.  core features are your app’s essential business
function. Users can be temporarily blinded by
In your planning, ensure that app processing is pretty features, but they won’t continue to use
solid, that the interface to the backend database an app that doesn’t function well. 
is locked down, and that the results returned to
the app are correct. And be sure to integrate the
user story, allowing for some flexibility to deal
with unexpected results or conditions.

Conduct Take a look at what else is out there. Research


competitive similar ideas on the various app stores; test
analysis competitors’ mobile apps and note the benefits
of each. Understanding what’s working well—
and not so well—with your competitors’ apps
gives you a significant advantage in your initial
development efforts. Pair this with your own
users’ feedback and analytics, and your time
will be well spent.

32
Invest Your greatest app idea won’t catch on with Consistent functionality across all platforms is
in user customers if the app is difficult to use. Aim for a important to your app’s branding, and presents
experience mobile app that’s intuitive and user-friendly by a more polished feel. Keep in mind that users
investing resources in the UX of each platform. will expect their interactions with your mobile
Usability drives adoption and acceptance rates, app to be similar to those of other apps on
determining whether your app succeeds. their platform. At the same time, however, your
app should retain its look and feel across all
platforms, so that users can easily transition to
using your app on another device.

Delighters
implemented

implemented
Not

Fully
Basic needs

Core features drive satisfaction

33
Know that No one likes a slow app. Performance can be Design with performance in mind. Make
performance a tricky part of development because there sure that performance stays within design
matters are many things that can have an impact and parameters. But don’t lose sight of the fact
it can be difficult to anticipate these impacts that performance serves your core features.
ahead of time. It’s important to constantly Your decisions for performance tweaks
monitor the app and its components (network, shouldn’t interfere with the core functionality
services, etc.) and ensure performance is within of your solution.
acceptable ranges. Use alerts to find out about
issues before they become problems—that then
become angry phone calls to support. 

Design with performance in mind. Make


sure that performance stays within
design parameters. But don’t lose sight
of the fact that performance serves
your core features.

34
Consider If you’re developing a mobile app, User Group
network network connectivity is almost guaranteed
connectivity to be a requirement. Fire tablet and Fire TV
apps are likely in the same category. Apps
Discussions Promotions Jobs
that live on their own are rare, so it’s important
to decide early on what your app will do if it
can’t find the network.

This will depend heavily on exactly what the


app is supposed to do. Will the app store
enough data locally to allow it to function for
a short time away from the network? Or is it
possible that the app can go into store-and- Discussion
forward mode until connectivity is restored? It
might be that you just need to come up with an
engaging “waiting for the network” screen. Your
app should respond to network connectivity
Post
with the proper results.

Network performance and security can


get complicated, as users expect smooth
transitions from using cellular data to Wi-Fi.
So it’s important to take the time to consider
how your app is affected by high traffic and
slow or weak connections. 

35
Understand Mobile apps are vulnerable—and so, by Some security best practices include
mobile extension, are their users. Security and encryption of data in transit (e.g., SSL/TLS)
application privacy are important considerations when transferring personal information,
security
regardless of whether your mobile app is in de-identifying user data (e.g., hashing),
a heavily regulated industry like finance or user authentication (preferably two-factor
healthcare. You must take measures to protect authentication), and encrypting all sensitive
your users and their data and, if applicable, data stored in the cloud. If you’re using a
to comply with industry regulations. Chances framework for your app, consider using one that
are your app involves sensitive information or provides secure communications and supports
information that’s private to the user. You several types of authentication. It’s important
need to keep that information secure.  to review how that framework provides these
functions. Take some time to understand which
Take security into consideration early in protocols are implemented, and research
your development process. Thinking about vulnerabilities. Don’t assume your chosen
this from the start means knowing what framework is invulnerable.
kind of input you’ll be dealing with, so you
can build data testing into the app.
Understanding the network components and
communications mechanisms allows you to
secure data in transit. And you can ensure
that only authorized users can access data by
knowing which authentication mechanisms
are in place and which are available for use. 

36
Test, test, There are lots of arguments about testing. It’s tempting to use your users as beta
and test Who should do it? When should it be done? testers for every new app. Amazon provides
What’s the best methodology for doing it? an App Testing Service, as well as the ability
There is, however, no argument about whether to release a beta to a specific set of users
testing is necessary. Testing extensively is (likely other developers) to help make sure
an absolute must. your app is solid and reliable before releasing
it to your customers. 
Testing is not just another step in the overall
process; rather it’s a part of each step in the
development process. The most effective
testing is performed constantly and consistently
in every aspect of your app. Test the design,
functionality, performance, and interactions
with other apps. Test on every platform and
multiple browsers and carriers. 

There is no argument about


whether testing is necessary.
Testing extensively is an
absolute must.

37
What apps have
a chance at
success on the
Amazon Appstore?
Any app that solves
a perceived problem,
saves time, and does
it simply.

38
Respond to Throughout these pages, there are references Feedback allows you to more easily hear your
analytics to analytics—in fact, there’s an entire customers’ voices. And you should listen to
and chapter dedicated to the topic (Chapter Ten: what they have to say. Avoid becoming
feedback
Measuring and optimizing your app). It’s an defensive when people point out shortcomings
important tool for collecting information, in your app. It isn’t easy, but getting this right
but in the context of this chapter, analytics is leads to creating better apps. Hearing your
one of several channels for feedback. Other users’ feedback—positive or negative—and
channels include comments, blogs, reviews, addressing issues objectively play an important
and social networks.  role in making your app even better. 

Amazon Mobile Analytics

39
40
Building
your app
Now that you’re ready to build your app, it’s
time to familiarize yourself with the tools that
help with development. As you plan, learn
how you can use frameworks and integrated
development environments to enhance your
app’s development. Focus on key design
considerations like the quality of the code,
visuals and audio, mobile connectivity, and
data privacy and storage. And use web-based
services and analytics that can help support
and improve your app.

41
Preflight □ Choose a development framework
checklist
□ Choose your target devices

□ Create consistent videos and audio

42
Challenges □□ Understanding your app’s environmental needs
you might face
□□ Planning your app for scale

□□ Setting the base for collecting feedback and analytics

43
Using You can accelerate your app’s development
frameworks by using frameworks. Frameworks allow you
to work with existing code libraries so you
don’t have to create these libraries yourself.
These libraries perform functions like rendering
objects in 3D or connecting to external services.
Cross-platform frameworks can help you create
platform-agnostic apps. This means you only
have to create an app once before deploying
it to different types of devices. 

Amazon offers plugins for several


popular cross-platform frameworks,
as described below, making it easy for
you to include them in your app.

Unity Unity is a cross-platform game development


engine. With Unity, you can easily create rich,
interactive 3D experiences by assembling your
art and assets into scenes and environments,
adding physics, and simultaneously play-
testing and editing games. When you’re
finished building and testing, Unity creates a
finished binary—such as an Android application
package (APK)—that you can publish to your
chosen platform, such as Fire tablets and
the Amazon Appstore.

44
Plugin or extension Documentation

Integrating the Amazon Fling Controller in Your Games1


Amazon Fling
Integrating the Amazon Fling Player in Your Games²

Setting Up Unity and Integrating


GameCircle
GameCircle Features in Your Game3

Phone Using the Unity Plugin in Your Unity Project4

Adding a Plugin to Your Unity Project5


In-App Purchasing IAP Plugin Methods and Events6
Implementing the IAP Plugin7

¹http://amzn.to/2oVPs9m 5
http://amzn.to/2oPrNFp
²http://amzn.to/2oPrwlR 6
http://amzn.to/2oPm02y
http://amzn.to/2onDHW2
3
7
http://amzn.to/2oVPfmm
http://amzn.to/2o4lYad
4

45
Adobe With Adobe AIR native extensions (ANE),
AIR native you can package the same code you use for
extensions browser-based games—developed using Flash
(ANE)
(ActionScript)—into native apps on your chosen
platform, such as Fire tablets.

Plugin or extension Documentation

GameCircle Adobe AIR & GameCircle8

Adding a Plugin to Your Adobe AIR Project9


IAP Plugin Methods and Events10
In-App Purchasing
Implementing the IAP Plugin11
Using the IAP Plugin for Adobe AIR12

http://amzn.to/2o4wmyq
8 11
http://amzn.to/2oVPfmm
http://amzn.to/2oPuAyp
9 12
http://amzn.to/2oshWng
10
http://amzn.to/2oPm02y

46
Apache Apache Cordova allows you to develop mobile
Cordova apps that access native device functions—like
the camera and accelerometers—using HTML,
CSS, and JavaScript.

Plugin or extension Documentation

Adding a Plugin to Your Cordova Project13


IAP Plugin Methods and Events14
In-App Purchasing
Implementing the IAP Plugin15
Using the IAP Plugin for Cordova16

Amazon WebView API Building and Testing Your HTML5 Hybrid App17

http://amzn.to/2o4lxML
13
http://amzn.to/2onvOQs
16

http://amzn.to/2oPm02y
14
http://amzn.to/2onQ0BB
17

http://amzn.to/2oVPfmm
15

47
Xamarin Xamarin allows you to create native iOS,
Android, and Windows apps in C#.

Plugin or extension Documentation

Adding a Plugin to Your Xamarin Project18


IAP Plugin Methods and Events19
In-App Purchasing
Implementing the IAP Plugin20
Using the IAP Plugin for Xamarin21

18
http://amzn.to/2osFKao 20
http://amzn.to/2oVPfmm
19
http://amzn.to/2oPm02y 21
http://amzn.to/2onIOoZ

48
Fire App With Fire App Builder, you can build If you want to extend Fire App Builder with
Builder streaming media Android apps for Amazon more advanced functionality, you can use
Fire TV while incorporating best practices Fire App Builder as the underlying framework
and techniques. Fire App Builder’s code is and build on top of it, since most of the
Java-based and uses Android Studio, Gradle, components are modular.
and other tools common to Android app
development. To use it, you’ll need to have
Android Studio and Java SE Development
Kit 8 or later installed on your system.

You can accelerate your


app’s development by using
frameworks. They allow you
to work with existing code
libraries so you don’t have to
create these libraries yourself.

49
Using An integrated development environment (IDE)
integrated helps you create, view, edit, and debug your
development code. Since Android apps are Java-based, you
environments
can choose from several IDEs, including Eclipse,
Android Studio, and Xamarin Studio. 

Eclipse offers several editions of Java IDEs, Xamarin Studio for Windows is integrated into
with support for Windows (32/64 bit), Mac Visual Studio, and a Mac OS version is available
OS X, and Linux (32/64 bit) operating systems. for download. Xamarin Studio Community is
Eclipse for Java includes a Java IDE and free for individual developers, open source
Git client and features Maven and Gradle projects, academic research, education, and
integration. (Please note that support has small professional teams.
ended for Eclipse Android Developer Tools
with the release of Android Studio 2.2.)22 If you’re looking for guidance in setting up IDEs,
take a look at the documentation at Amazon
Android Studio is the official IDE for Android. Developer, where you can find steps for setting
In addition to GitHub and Gradle integration, up Eclipse and, in many cases, Android Studio.
Android Studio touts a comprehensive device Both are freely available, open source IDEs that
emulator, with emulation support for Android offer a great deal of support.23
phones, tablets, Android Wear, and Android
TV devices. http://bit.ly/2osJSY1
22

http://amzn.to/1WCYfrt
23

50
Design Whether this is your first or your tenth app
considerations project, there are a few concepts that you’ll
for your app want to keep in mind during planning. The
preceding chapter (Chapter Three: Creating a
successful app) covered fundamental elements,
but it’s worth discussing some basics:

Keep it simple. Pay attention to it and finish.


The more complex features your app includes, The most useful, functional app can
the more likely something unexpected will be overlooked if its UX is cluttered or
happen. Focus on the core object of your app, difficult to navigate. Make your app
and the features essential to its function.  visually beautiful (as well as useful) so
it gets the attention it deserves.

Stay focused on the target audience. Ensure a high-quality experience.


Prioritize the features that provide the Simply put, a few features implemented
most value to your users. Avoid risky correctly offer more value to your users than
investments that seem appealing, but don’t twice as many features implemented poorly. 
add any real value for your target users.

51
Clean, The foundation of your app’s success can lie in Focus on keeping code maintainable from the
maintainable the quality of the code. This is the case whether first line written. Implement these concepts
code you handcraft each function or rely heavily on from basic programming: unique, descriptive
drag-and-drop design. If your code is overly names for classes, members, and methods;
complex, then so is the process of adding single-purpose methods without too much
features or addressing feedback. This can lead overloading; appropriate use of commenting;
to new issues being generated with each bug fix. and diligent documentation. Refer to best
practices and follow them as closely as possible.
The Android software development kit (SDK)
has a great many of them, as do each of the
frameworks described above.24

http://bit.ly/2onRNqi
24

An IDE helps you create, edit, and debug code

52
Clear, Whether designing UX controls, game
consistent characters/avatars, or full-motion cut scenes,
visuals and it’s important to deliver a visual experience that
audio
fits. As a part of the user experience, your app
should provide a sense of completeness and
discoverability. Users should be able to easily
identify controls and know what they do. The
overall layout should stay consistent throughout
screens, tabs, and dialogs. And it’s a good idea
to provide a visual and audio cue when a control
responds to input.

Any art used in your app should look like it


belongs. Assets shouldn’t appear as though they
were arbitrarily added as an afterthought. And
you should eliminate any issues with skewing,
cropping, or scaling. 

Sound effects, voiceovers, and background


music can complete the user experience for your
app. If implemented poorly, these elements can
also ruin the user experience. Make sure that
the audio assets for your app have consistent
sound levels and sampling quality. And consider
including user-adjustable settings to change the
volume level for your app. 

53
Developing You can use existing tools like Android Studio to
for multiple develop apps for Fire TV in addition to Android
devices phones and tablets. The experience for your
app will likely vary considerably between a
4-inch screen and a 48-inch screen. Choosing
the right devices to support can help focus
your efforts on the experience best suited for
your target users.

Device targeting provides a number of benefits for your app:

• Better app discoverability. Instead • Device-specific feature optimization.


of having multiple apps for a similar Your APK is tailored for different
title, your reviews, page views, and platforms and device capabilities
downloads are consolidated. This helps including screen size and pixel density,
push your app higher in search results OpenGL compression format, and API
and relevancy rankings. version.

• Less customer confusion. Customers • Device targeting is also a better


won’t be confused by multiple device- and smoother experience for your
specific versions of your app. customers. The customer only has to
buy your app once, and the correct,
optimized version is automatically
delivered for each device they use.

54
Mobile If your app includes an online presence, you Avoid silently transferring data when the
connectivity need to consider how much bandwidth your device is connected to the mobile network.
app consumes, as well as how much data your Instead, batch data and transfer it when
app will use, particularly with cellular data. You the device is connected to a Wi-Fi network.
might want to consider whether your app needs If this isn’t possible, consider alerting the
a connection at all. If your users’ needs can be user with the option of continuing the
served without an active Internet connection, transfer or waiting for a Wi-Fi connection.
there’s no need to feel compelled to include
that capability. It all comes down to the need Because a mobile network connection might
your app is fulfilling—and how best to meet it. shut down when the data limit is reached, your
app must deal with the lack of connectivity
In addition to Wi-Fi connectivity, certain Fire gracefully. Alert the user when it isn’t possible
tablets can connect to mobile networks through to transfer data.
a user’s mobile network plan. Since some mobile
plans have a limit on how much data can be
transferred in a month, it’s important to give
users the ability to defer large downloads or
media streaming.

There are three steps to using device targeting for your app: 

1. Build multiple binary APKs for different 3. Use the Binary File(s) tab on the Amazon
devices, optimizing each binary for each Developer Portal when you submit your
device or platform. app to upload your individual APKs as
part of your app submission.
2. Configure the Android manifest for each
APK to use different version codes.

55
Using Using web-based services makes sense when Depending on your data needs, AWS offers
web-based your app needs to access data frequently or several small-to-large scale data services. These
services send messages or requests to other users/ include simple file storage with S3, relational
resources. Keep in mind that the frequency databases with RDS and Aurora, and data
and size of communications that your app warehousing with Redshift. The options for
requires will have a significant impact on your data storage as a service are numerous enough
users’ experience. You’ll want to design your to be described in a bit more detail later in this
app’s messages and requests to be small and chapter. (See Dealing with data.)
lightweight and to occur at the right frequency.

The following section on data highlights a


few cloud data storage services to consider,
depending upon your users’ data needs. But Amazon Web Services
data storage is only one aspect of cloud services
that can support your app. 

Compute services—such as Amazon EC2,


Amazon EC2 Container Service, and AWS Elastic
Beanstalk—provide a virtual infrastructure that
can act as servers for your app if heavy compute
cycles are required. One example of this is
multiplayer gaming, where a dedicated set of
servers can provide the central control needed
for a robust gaming experience. An additional
benefit of using infrastructure as a service is
the ability to build scaling into the experience—
increasing capability when demand is high and
decreasing it when demand is low.

56
Using AWS offers ElastiCache, an in-memory caching AWS includes messaging services for apps
web-based service. If your users are consistently requesting as well. SQS message queuing service sends
services the same block of data repeatedly, ElastiCache messages between components. Amazon
continued
can greatly improve the performance of data Simple Notification Service (Amazon SNS) is a
transfer for your app. It offers storage for fast, flexible, fully managed push notification
regularly accessed data in memory, allowing this service that lets you send individual messages
data to be accessed far faster than data stored or fan-out messages to large numbers of
on disk. ElastiCache supports both Redis and recipients. Amazon SNS makes it simple and
Memcached caching engines. Mobile services on cost-effective to send push notifications to
AWS range from identity management to API mobile devices—including iOS, Windows, and
management and test and monitoring services. Android—worldwide. Amazon Pinpoint is an
Amazon Cognito manages both user identity analysis and notification service built to push
and app data synchronization. The API Gateway targeted notifications to mobile app users; it
service enables the publishing of REST APIs, works with AWS Mobile Hub to analyze user
which can provide a common backbone for all behavior and create targeted campaigns with
your apps—mobile or desktop. AWS Mobile measurable results.
Hub can be used to build, test, and monitor
apps, and as a mobile-specific backend for apps. These are just a few of the offerings available
Mobile Hub also ties into Amazon Pinpoint. from AWS, mostly focused on app development.
For a more comprehensive list of services, or
more detail on service offerings, visit Amazon
Web Services.25

http://amzn.to/2onD3rE
25

57
Dealing Most users take exception to their information In most cases, you won’t be keeping sensitive
with being collected and used without their information. But beyond configuration
data permission. If you need to uniquely identify information, you might need to store data on a
users, you can utilize existing platforms to user’s behalf to deliver a consistent experience.
identify and authenticate. However, if your app You’ll need to consider whether the volume
does collect personal information, be aware that of data will be a concern. For example, using
there are countries/regions that have very strict gigabytes of mobile device storage on a whim
privacy laws around personal data review—so isn’t advisable. And if data needs to be accessed
you’ll want to review policies around data from another device, avoiding local storage
collection and retention closely.  would be ideal. 

58
There are several options for data storage on you have one or more individuals focused
the web. If you’re dealing with small amounts specifically on data management, and their
of user data, scalable services such as Amazon requirements will determine whether an
Simple Storage Service (S3) provide a cost- enterprise relational database engine is the
effective, expandable solution for your app data right tool for the job. 
storage. S3 allows for individual file storage
in containers, which function like files on your Ultimately, deciding which data storage solution
local computer—except that they’re accessible to use should be based upon the type of data
by web API.  you need, how it’s collected or used, the volume
of data to be stored, and when and how the
File-based storage with S3 is an unstructured, data is accessed. 
NoSQL-type solution. If your app deals
with a large number of small, unstructured
data files, a more mature NoSQL data store
might be needed.

Amazon DynamoDB is an AWS offering


that provides scalable NoSQL data storage,
which can be well-suited to mobile, web,
or gaming applications.

If your application requires medium- to large-


scale relational data storage, you might want
to consider Amazon Relational Database
Services (RDS) to host a relational database like
PostgreSQL, MySQL, or MariaDB. As is the case
with S3, RDS pricing can be based upon usage,
which reduces cost during low access periods. 

At the larger end of relational data is Amazon


Aurora, an enterprise-class, high-performance,
scalable system. In all likelihood, if you’re
working with 10 to 24 GB of relational data,

59
Measure Collecting data analytics will improve your By tracking key trends like new vs. returning
what ongoing efforts. Designing the correct telemetry users, app revenue, user retention, and custom
matters allows you to collect and measure your users’ in-app behavior events, you can make data-
behaviors with your app, and work to confirm driven decisions to increase engagement and
your expectations on how your app is used. It monetization for your app. The Amazon Mobile
can also tell you whether users are abandoning Analytics Developer’s Getting Started Guide
any efforts—either due to malfunction or describes the process of integrating the SDK,
inaccessibility. Finally, telemetry data can give configuring the Auto Export feature to export
insight to malicious behavior that might events data to Amazon S3, and using the REST
indicate a security flaw in your app.  API to submit events.26 You can use the
Amazon Mobile Analytics Console to view
graphical reports for your app, download data
in CSV format, or configure the Auto Export
feature to export your raw events to your
Amazon S3 bucket.27

http://amzn.to/2osC6NO
26

http://amzn.to/2osHyR0
27

60
Designing the
correct telemetry
allows you to collect
and measure your
users’ behaviors
with your app, and
work to confirm your
expectations on how
your app is used
61
62
Monetizing
your app
The Amazon Appstore makes it easy to earn
money from your published apps. In addition to
the more traditional monetization routes—like
In-App Purchasing (IAP) or download fees for
premium apps—Amazon Appstore also offers
unique opportunities that are exclusive to the
Amazon Appstore, including Merch by Amazon
and Amazon Coins.

63
Preflight □ Have a plan for your app
checklist
□ Identify your revenue goals

□ Understand your audience

64
Challenges □□ Selecting an app monetization model that fits
you might face
with your app, is appealing to your user base,

and provides a frictionless experience to users

□□ Planning and integrating IAP

monetization throughout the dev process

□□ Identifying what does and doesn’t work

□□ Making the needed adjustments throughout the process


65
Choosing As you’re planning your app, you’ll want to If you charge money for your app, your app
the best select an app monetization model that fits includes IAP, or you use Amazon Mobile Ads
monetization your use case, appeals to your user base, and or Amazon Mobile Associates, you must fill
model for
provides a frictionless user experience.  out payment, banking, and tax information
your app
in your developer profile. 

Popular In-App Purchasing (IAP) Premium (paid) apps


monetization In this model, your app is usually free to In this model, users pay to download your
business download and use. However, users can app. This model is good for apps that show a
models
enhance their experience by purchasing clear benefit to the user or that already have a
extra features—like advanced services, strong fan base or independent publicity that
extra currency, additional lives in a game, drives users to download the app. Because users
and more—or through access to locked can’t try the app before they decide to make
content, like bonus levels or mini-games the purchase, premium apps tend to see lower
in the app. numbers of downloads. Therefore, this model is
used less frequently.  
Subscription-based apps
In a subscription-based model, users will pay
a recurring amount to access premium or
exclusive features or content in the app. The
subscription model is most often used by apps
for music and video, social networking, or online
media. Subscriptions are included in the Amazon
Appstore’s IAP API and handled the same way as
other in-app purchases.

66
Types of As you plan your IAP implementation, define IAP supports two basic delivery flows: Instantly
in-app what types of items your app will make available content and deliverable content.
purchases  available to users. You’ll also need to determine Instantly available content is available to the
how you want to deliver those purchased items.  customer upon purchase. Under this model,
your app already has everything it needs for
IAP includes three different the customer to use the purchasable item
categories of purchasable items:  immediately upon purchase. Deliverable content
allows you to make new content available
Consumables to the customer. Under this model, your app
Purchases that are made and then consumed will download the new content from your
within the app—such as extra lives, extra servers and make it available to the customer.
moves, or in-game currency. These items (Typically, these are subscription items.) 
can be purchased multiple times. 

Entitlements
One-time purchases to unlock access to
features or content within an app or game. 

Subscriptions
Access to a premium set of content or
features for a limited period of time. 

67
Executing Create your purchasable items before Amazon’s IAP API handles the details of
the purchase submitting your app to the Amazon Appstore. purchase flow, payment processing, and
process If you decide to add or edit your purchasable managing rights to the purchasable content,
items after submitting your app, you’ll need so you don’t have to code these on your end.
to resubmit both the new/changed items and When a user initiates a purchase of your app,
the app itself. Once you’ve completed the the Amazon Appstore client app surfaces and
submission of these purchasable items, the presents an Amazon-branded user interface
Amazon Appstore executes the purchase to complete the transaction. You don’t need
process for you.  to provide purchase dialogs, transaction
timeout logic, or “Thank You” dialogs. The
Amazon Appstore provides all of these
transaction pieces, including either a receipt
for the purchase or a status code in the case
of a failed purchase.

Rights Management

2
1 Rights Managment

C 3
Payment
processing Purchase
receipt

Amazon’s IAP API handles the details of


purchase flow, payment processing, and
managing rights to the purchasable content

68
Setting up You can set the price of your app during the app
a premium submission process (detailed in Chapter Seven:
(paid) app in
the Amazon
Publishing your app). The Availability & Pricing “[With] Amazon
Appstore 
tab will ask if you’re charging for the app. Select
Yes. Then enter a base list price and currency Mobile Ads API...
from the drop-down menu. There’s a minimum
base list price of $0.99 USD. 
we saw eCPM jump
300% and our
revenue doubled”
–Anatoly Lubarsky
Amazon Mobile ads can be used as the sole monetization
Mobile Ads Founder, X2Line.com
method in an app, or you can choose to use
API them in addition to making in-app purchases
available to your users. 
“The $2.87 eCPM
The Amazon Mobile Ads API is an in-app
display advertising solution to monetize we saw through
mobile apps and games across platforms,
including phones and tablets on Android, Amazon far
iOS, and Fire. The Mobile Ad network is easy
to integrate and track. With a single portal,
exceeded our
you can measure your success rate with expectation”
actionable, simple reporting. When you
use the network, you’ll get paid based on –Mahesh Khambadkone,
ad impressions served—not on clicks on Co-founder, Games2Win
ads. Users will receive high-quality, highly
relevant, mobile-optimized ads from
Amazon and brand advertisers. 

69
Amazon Customers can use Amazon Coins just like
Coins  cash to buy apps and make in-app purchases.
Amazon Coins gives customers more ways to
buy, alongside special incentives and discounts.
While customers save money when buying
Coins, as a developer, you continue to earn
your standard revenue share. And because of
the incentives customers receive to download
and use your apps and games, you get more
opportunities to earn money through your app. 

70
“Working with Amazon
is a dream come true.
We don’t have to worry
about selling the shirts or
holding any inventory. It’s
a one-stop shop allowing
us to grow the brand
outside of the game.”
–Bryan Davis
Big Blue Bubble,
creator of My Singing Monsters

71
Merch by Give your users a fun new way to interact Every brand is different, but we’ve found
Amazon  with your brand through the Merch by Amazon that most have fans who would love to wear
service for developers. Merch by Amazon branded T-shirts. We suggest that you test
helps you increase revenue through the sale of out at least 5 or 6 unique designs to determine
branded T-shirts designed by you and produced, which designs will appeal to your fan base.
sold, and shipped by Amazon. You can convert Present each design to your fans, see what
game characters or imagery into wearable works, and then iterate. 
merchandise and expand the life of your game
beyond the screen.  Through the Merch by Amazon portal
promotions section, you can use social and
If you’re interested in getting started with in-app promotions to share your T-shirts with
Merch by Amazon, you can request an users. Use Pinterest, blogs, YouTube, email
invite to the program. Once you receive your campaigns, or web campaigns to reach out
invite,  simply set up your Merch by Amazon to your users and direct them to your T-shirt
account, upload the artwork for your T-shirt, product page on Amazon. Find your T-shirt’s
and press submit. Amazon takes care of the product URL on the Dashboard and Promote
rest, including worldwide sales, distribution, sections of the Merch portal. 
logistics, shipping, and customer service.
You earn a royalty for every T-shirt sold,
and there’s no out-of-pocket cost. 

72
Four proven
categories
that work
well

Logos Funny/inside jokes

Character-driven designs Subtle designs that


look “cool” to non-fans,
recognized by true fans 

73
Maximizing Reduce barriers  Target your app catalog 
your app Your IAP strategy could be perfect, but if You only have your customer’s attention for a
revenue  people aren’t spending any time in your game, short period of time, so it’s important to provide
you won’t be able to generate any revenue. The the proper pacing and the right IAP catalog
top developers in the Amazon Appstore make to coincide with a user’s level of play. Amazon
it easy to get into their games immediately. research has shown that players who stay with
No splash screens, welcome menus, or option a game for at least 30 days spent 60 percent
screens—users jump straight into the fun.  more on their in-app purchases. In addition, the
top games have a wider variety of items in their
Increase user sessions with catalog to enhance gameplay and keep players
cross-platform integration  progressing through the game. A deeper IAP
Successful developers also remove barriers to catalog helps you make the right offers to the
subsequent sessions through cross-platform right players at the right time. 
integration. The ability to sync gameplay
across devices lowers user frustration and Provide clear price points 
increases session use.  While a large number of IAP items in your
catalog can help increase sales, too many price
Amazon’s Whispersync for Games (discussed in points can overwhelm customers. Try to offer no
Chapter Nine: Engaging and retaining users) more than 5 price points, and include expensive
makes it easy to synchronize user progress items in that count (for example: $0.99, $4.99,
across devices.   $9.99, $19.99, and $49.99).

Simplify the purchase process  Test, test, test! 


Provide users with detailed, accessible A/B testing can help you to get the most out of
instructions on making in-app purchases, your monetization strategy without impacting
and follow-up with clear instructions on retention. Set up trials and see what kind of
how to use the newly purchased items.  timing, price points, and purchase options are
most appealing to your customers. 

74
A deeper IAP
catalog helps
you make the
right offers
to the right
player at the
right time

75
76
Preparing
and testing
your app
Before releasing your app to your customers,
you want to make sure it’s solid. In this chapter,
you’ll find information on preparing your app
for publication, including testing criteria for
various devices, and how to navigate Amazon’s
App Testing Service. Once you’ve finished
taking the actions in this chapter, you’ll have an
app that’s complete and tested—and ready to
submit to the Amazon Appstore.

77
Preflight □ Understand the app submission workflow
checklist
□ Have an Amazon Developer account

(requires an Amazon Customer account)

□ Get required images ready for submission

□ Target specific devices for your app

□ Target locales/regions for your app

78
Challenges □□ Meeting the requirements for a successful submission
you might face
□□ Resolving issues found in test

□□ Releasing a beta for your app

79
Get your app Develop your app from scratch or migrate When you set up a new Amazon Developer
ready for an existing Android app for publishing in the account, you are the default account
submission  Amazon Appstore (see Chapter Two: Migrating administrator. You can add other administrators
your existing app). Keep the Amazon Appstore and people in other roles to the account, such as
Content Policy Requirements in mind as you analysts, developers, or marketers. Although any
design your app.  
1
developer or administrator can submit an
app, Amazon will send correspondence only to
Have (or create) an Amazon developer account the email address in the company profile. 
You need to have an Amazon Developer account
to submit apps on the Amazon Appstore.2 If During the registration process, you’ll be asked
you don’t already have an account, you’ll need to review and accept the App Distribution
to register for one at the Amazon Developer Agreement. You’ll also be asked whether you
Portal. There are two important things to know plan to monetize your apps, and if so, how.
about your Amazon Developer account: You can change your monetization settings
after registration is complete, even if you
• Your Amazon Customer account is tied to decline monetization at this point. Once
your Amazon Developer account. registration is complete, you’ll land on the
Developer Console Dashboard, where you can
• Amazon will only send email to the begin to add a new app.
address listed in the company profile
when corresponding with you about http://amzn.to/2onEWoi
1

http://amzn.to/1WCYfrt
2
your app’s status.

80
Image To promote your app on the Amazon Appstore,
assets for you’ll need to provide screenshots along with
production large and small icons. You can also include a
promotion
promotional image and videos. See Image Asset
Guidelines for Appstore Submission.3

http://amzn.to/2oW6Mem
3

Amazon Developer Account


Registration

</>

81
Test your When you submit your app or game to the
app Amazon Appstore, the app must pass a series
of tests to qualify for publication. To avoid
time lost in getting your app to market, make
sure that your app meets the Test Criteria for
Amazon Appstore Apps before you submit
it for approval.4

http://amzn.to/2pCBNog
4

Test criteria General qualifications 


for Amazon At a high level, your app should: 
Appstore
apps
• Have a simple and well-planned user • Fully utilize the screen area of the
experience that doesn’t cause user Fire tablet or Fire TV screen.
confusion.
• Be free of visual defects, such as missing/
• Be thoroughly tested and free of bugs, distorted/pixelated images, misaligned UI
crashes, and obvious defects. elements, or illegible text.

• Provide visual indication that a user’s action • Have UI text that is free of
has succeeded or failed. grammatical or spelling errors.

• Fail gracefully if the user tries to access


unsupported functionality. (For example,
the app could display an error message
that reads, “This feature is not currently
available.”)

82
More Test Additional qualifications for Fire TV  Amazon Fire TV remote and voice remote
criteria for Apps designed for Fire TV should meet the qualifications 
Amazon following additional qualifications:  To enable your app to be compatible with Fire
Appstore
TV remotes, follow these guidelines: 
apps
• Design your app to be displayed in 1080p
resolution (1920 x 1080 px) for the best • Implement a simple UI that’s easily
possible experience. navigable with Up, Down, Left, and Right
movements (D-pad).
• Limit text entry requirements. Large
amounts of text entry hinder the user • Don’t require motion events or rapid input
experience. for use.

• Enable users to read text and UI elements • Enable use with only one hand, and don’t
from approximately 10 feet away. require the use of two hands for sustained
interactivity.
Try to keep your apps to 2 GB or less
(recommended). This size includes any first- • If the user needs to hold the remote
launch downloads of additional assets or other sideways to use your app, inform the user
content. Note that if your app is above or near of that on launch so navigation is handled
4 GB in size, it might not install or run on the correctly.
device.
• Avoid simultaneous button inputs,
especially for core functionality.

Additional qualification for Fire tablets 


Apps designed for Fire tablets should meet the
following additional qualification: 

UI should take into consideration and utilize


both the notification bar and dynamic soft key
menu behavior.

83
Get your app Game and other controllers If your app requires the use of any other
ready for To ensure your app is compatible with game controller, that controller must support
submission  controllers (the Amazon Fire game controller the Bluetooth HID gamepad profile and
and other Bluetooth game controllers), it not require additional software for input. 
should feature a simple UI that is easily
navigable with D-pad or analog stick input.  Amazon maintains a set of test criteria that
need to be met for your submission to succeed.
For the latest test criteria, see Test Criteria for
Amazon Appstore Apps.5

http://amzn.to/2pCBNog
5

App Testing Service

1
1 2
1 2 3
2 3 4
3 4 5
4 5 6
5 6 7
6 7 8
7 8
8

84
Developer Portal
Results in Publish
90 seconds your app

Resolve
Drop APK on any issues
test widget

App Testing Amazon’s App Testing Service allows you The device test uses AppXplorer, a tool
Service to upload your app’s Android application optimized for analyzing native Android UI
package (APK) to the Amazon Appstore and widgets. Currently, AppXplorer is not
receive feedback about whether your app optimized for user interfaces based on
meets submission requirements. You’ll also OpenGL or HTML5. There are also limitations
receive suggestions on how to correct potential with authentication, and API levels 18 and
submission issues. The App Testing Service above cannot be tested with AppXplorer. If
performs two types of tests on submitted apps: AppXplorer is unable to install, launch, or
a compatibility test, to verify that unsupported explore the app, an email notification is sent
APIs are not in use and check for incorrect API to the developer account email.
usage or unsupported features, and a device
test, which tests your app on actual devices and If you’re looking for a way to beta test your app
performs automated tests. among hundreds of other developers, it’s a good
idea to use Amazon’s Live App Testing. For more
information, see Live App Testing.6

6
http://amzn.to/2osSnCl

85
Interpreting Log in to your Developer account to see the test If you test the same app, unchanged, multiple
test results results for your app. Amazon never shares test times by using the App Testing Service, your
results publicly. device test results from AppXplorer might
change slightly. This is because AppXplorer can
Note: You might get a “Results Not Found” explore the app using different app flows, which
error if the email address used to submit for might result in navigating to different screens
device testing is different from the email address and detecting app crashes only during a specific
used for signing in to your Developer account. app flow. This scenario isn’t common but can
happen with some apps. Your compatibility
Compatibility test results will be available test results will not vary.
within 90 seconds. Device test results might
take up to 6 hours, depending on traffic on the
service. If the AppXplorer testing load is high,
test results can be delayed up to 24 hours from
the time of app submission.

App Testing Results

86
Submitting After you have fixed any issues identified by
your app the App Testing Service and your app passes
from the testing, you can submit your app to the Amazon
App Testing
Appstore for publication directly from the
Service
testing portal. If you don’t want to submit
your app immediately but are signed in to
your Developer account when you run the test,
Amazon will save your test results and you can
submit your app later. To learn more, see the
App Testing Service page.7

http://amzn.to/2n8Puel
7

If you’re looking for a way


to beta test your app among
hundreds of other developers,
it’s a good idea to use
Amazon’s Live App Testing

87
88
Publishing
your app
At this point, your app should be fully
prepared (or migrated), tested for compliance
and functionality, and ready for submission
to the Amazon Appstore for publication. This
chapter takes you through the publishing
workflow. Even if you’re not publishing for the
first time, it’s useful to refer to this chapter to
make sure you don’t miss a step.

89
Preflight □ Understand the app submission workflow
checklist
□ Determine your app Android application

package (APK) and image assets

□ Choose a monetization model

□ Select a security profile (GameCircle

and Device Messaging)

90
Challenges □□ Checking the status of your app submission
you might face
□□ Identifying the next steps if your app fails submission

91
Submit Log in to your developer account, enter the
your app appropriate information for your app’s listing,
and upload your app. 

The app submission process


includes the following steps:

1. Log in and create your app.1

2. Enter general information for your app.

3. Enter availability and pricing information.

4. Enter app descriptions.

5. Upload image and media assets.

6. Assign a content rating.

7. Upload Android application package (APK) files.

8. Associate a security profile (GameCircle


and Amazon device messaging only).

9. Submit your app.

1
http://amzn.to/2pSlpwl

92
Step One: Log in to your developer account on the You will be prompted to select a platform:
Log in and Amazon Developer Portal.2 Once you sign in, the Android, Mobile Web, or PC & Mac.
create your Developer Portal displays the Dashboard page
app
for your account.3 On the bottom of the page, Select Android. 
you’ll see all your previously created apps listed.
The portal displays a page for entering basic
To create a new app, scroll to the bottom of the information about your app. 
Dashboard page and click Add a New App. 
http://amzn.to/1gF8KUB
2

3
http://amzn.to/2pSlpwl

Amazon Developer Portal

93
Step Two: After adding your app, you’ll come to a page
Enter containing text fields to capture general
general information about the app. All text input fields
information
here are plain text only. Do not enter HTML
for your app
markup. If you enter HTML markup in any field,
your app will fail Amazon testing and publishing
will be delayed.

For Android apps, enter the following information:

• App title (required) • Category refinements


Enter your app’s title. Amazon customers (optional—only shown if available)
see this information in the Amazon Select any of the refinements that apply to
Appstore and in certain locations on Fire your app. This information helps customers
tablets and other Android devices. find apps like yours.

• App SKU (optional) • Customer support contact (optional)


Amazon doesn’t require or use the app If you have configured a customer support
SKU. However, adding a unique identifier email address, phone number, and website
can help you track multiple versions in your profile, you can optionally select the
of your app. Use My Default Support Information check
box to copy that information. If you don’t
• Category (required) select the check box to copy the default
Select an app type and subtype by using information, you’ll need to enter an email
the drop-down menus. This information address, phone number, and website in the
helps customers find apps like yours. following text fields.

94
• Customer support email address • Privacy policy URL (optional)
(required) If your app includes account creation or
Enter an email address where customers otherwise collects personal information
can contact you. from users, you must enter a URL for
your app’s privacy policy.
• Customer support phone (required)
Enter a phone number where • When finished, click Save.
customers can contact you.
A General Information tab containing the
• Customer support website (required) information that you supplied on the previous
Enter the URL for your app’s screen appears. If you need to make changes,
support website. click Edit. You can make changes at any time
before you submit your app.

General Information

</>

95
Step Three: Use the Description tab to provide long 4. Short description (required)
Enter app and short descriptions for your app’s listing Enter a short description of your app that’s
description and to communicate the special features of appropriate for mobile devices. The maximum
your app. To enter your app’s description length is 1,200 characters, but Amazon
and other listing information: recommends a much shorter description.

1. Open the Description tab Note: Keep the following in mind for your
short description in regard to Fire TV. The Fire
2. Language (required) TV user interface uses your short description but
Displays the default language for your app. only displays the first 200 characters. If you’re
All apps except those originating in China submitting a Fire TV app, optimize your short
require an English (U.S.) translation. To add description to include the most important
another translation, click Save and Add a information in the first 200 characters.
Translation. You’ll need to select a language
and fill out all the required information on the
Description tab in the new language.

3. Display title (required)


Enter the app title that will be displayed in your
app’s listing. The display title should be brief.
It doesn’t have to be the same as the App title
field on the General Information tab.

96
5. Long description (required) 7. Keywords (optional)
Enter a description of your app that’s Enter comma-separated search terms
appropriate for use on the Amazon Appstore. that will help customers find your app
The maximum length is 4,000 characters. in the Amazon Appstore.

6. Product feature bullets (required) 8. Click Save.


Enter 3 to 5 key features of your app, one
per line. Press the Return key after each
feature, and the portal will automatically
convert each feature to a bullet item.

97
Step Four: Use the Images & Multimedia tab to specify
Upload the images that represent your app on Amazon
images and product detail pages and in the device user
media assets
interface. Amazon also uses these images and
videos to promote your app.

To add images and multimedia


to your app submission:

1. Open the Images & Multimedia tab.

2. Read through the Image Guidelines for


Appstore Submission and upload the required
images for your app.4

3. When you’re finished uploading


image assets, click Save.

Note: If the file size of a single video is greater


than 150 MB, you must upload the video via
SFTP. On the tab, click SFTP instructions and
naming convention for details.

http://amzn.to/2oW6Mem
4

98
Step Five: On the Content Rating tab, you define a content 3. In the Additional Information area, select
Assign a rating for your app. Amazon uses these ratings Yes or No for each of the following options.
content to target your app to appropriate audiences. An Making the appropriate selections here will
rating
inaccurate representation of your app’s content shorten your app’s review period. 
could cause your app to fail Amazon’s testing
process, or could cause Amazon to remove your • Account creation or other personal
live app from the Amazon Appstore. information collection

To define a content rating for your app: • Advertisements

1. Open the Content Rating tab. • Is your app directed


at kids under age 13?
2. Under Subject Matter, for each of the listed
categories, select the radio button in the • Gambling
column that best describes how often your
app makes use of or refers to the listed item:  • Location detection or
location-based services
• Light to moderate means that the
item occurs once or rarely and is not • User-generated content or
fundamental to the overall purpose and/or user-to-user communication
intent of the app. 
• Privacy policy URL
• Strong means the item occurs regularly and
is fundamental to the overall purpose and/ 4. Click Save.
or intent of the app.

99
Step Six: Use the Binary File(s) tab to set permission and
Upload APK device support options and to upload your APK
files file to the Amazon Appstore.

In addition to specifying which devices are


supported by your app on the Binary File(s) tab,
you need to configure your Android Manifest
file to specify which devices are supported. See
Getting Started with Device Targeting.5

Uploading To upload your app’s APK file and set Regardless of whether you choose to apply
an APK File permission and device support options: Amazon DRM, Amazon wraps your app with
code that enables the app to communicate with
1. Open the Binary File(s) tab the Amazon Appstore client to collect analytics,
evaluate and enforce program policies, and
2. Apply Amazon DRM? (required) share aggregated information with you.
Choose Yes (Recommended) or No.
The Amazon DRM is not tied to the key you
When your app starts, it communicates with the used to sign your app. Amazon removes your
Amazon Appstore client to determine whether signature and re-signs your app with an Amazon
the current user is entitled to use your app. If signature that is unique to you, doesn’t change,
you select Yes (Recommended), Amazon digital and is the same for all apps in your account.
rights management (DRM) is enabled and your
app will only run if the signed-in user has an 3. Binary file (required)
entitlement to your app. If you select No, DRM is Drag your app’s APK file (also called a binary
not enabled and the app will run no matter who file) onto the Upload Binary box, or browse to
is signed in. Your app will always communicate the file to add it.
with the Amazon Appstore client when it starts,
even if you choose not to apply DRM. http://amzn.to/2osJ1GR
5

100
Note: If your binary file is larger than 150 MB, turn on support for Fire TV devices, you’ll also
click SFTP instructions and naming convention. need to indicate which types of controllers are
Use your FTP client to upload your files with the supported.
given credentials. Before uploading, confirm that
you have renamed any assets larger than 150 MB Note: No two APKs can target the same device
per the instructions on the page. type. If you’re uploading multiple APK files, the
devices selected for one APK will be unavailable
After Amazon’s next publish cycle (about every for other APKs.
30 to 90 minutes), you should receive an email
from Amazon indicating that your binary was • Fire tablet and Fire TV support
uploaded successfully. To edit the list of supported Amazon
devices, click the Edit device support
When you return to the Binary File(s) tab, you link next to the device category, and then
should see your file. toggle device support on (green) or off
(gray) as appropriate for your app. Use the
4. Device Support (required) tabs at the top of the dialog box to move
After uploading your APK file, indicate which between categories. Click OK when done.
devices are compatible with your APK.
• Non-Amazon Android devices
You can use the Device Support options on To edit the list of supported devices, use
the Binary File(s) tab to see which devices the Device Support Summary to review
are compatible with your app, and whether the total number of devices that are
your app manifest settings have filtered out Supported (compatible), Excluded
any devices. If necessary, you can manually (manually de-selected), and Unsupported
filter out Android devices that have known (incompatible based on your manifest
compatibility issues without having to settings). Click the Edit device support
resubmit a new APK file. link next to the device category, and then
toggle device support on (green) or off
By default, device support is turned on for all (gray) as appropriate for your app. Use the
Fire tablet devices and all non-Amazon Android tabs at the top of the dialog box to move
devices. However, you must explicitly turn on between categories. Click OK when done.
support for Amazon Fire TV devices. If you At the bottom of the Device Support dialog

101
box, note the setting for All other 7. Binary alias (required).
Android devices, which allows your app Provide a unique name for your APK file. The
to be distributed to any other Android name will be used internally and will not be
device not explicitly listed, including future seen by customers. Amazon automatically
compatible Android devices. This setting is provides a default name for this field.
enabled by default.
8. Testing instructions (optional).
5. Language support (required) Use this field to communicate with the Amazon
Select at least one language supported by your testing team. For some apps, you can leave this
binary. (The default is English.) field blank.

6. Export compliance (required) If your app has features that are difficult to
Accept the export compliance statement by discover, include directions here for finding
selecting the check box to confirm that your them. Also, if you need to resubmit your app
app complies with applicable export and based on feedback from Amazon, or if your app
import regulations. needs user credentials or other information for
testing, you can use this field to respond to the
test report emails you receive from Amazon.

9. Click Save.

Uploading If you optimized your app for different devices Note: If you optimized your app for different
multiple and made use of multiple APK files, click Save devices and are uploading multiple APKs, each
APKs for and Add a Binary to upload another APK file APK must have a Binary Alias entry.
device
for the app. For more information about using
targeting
multiple APKs for different devices, see Getting
Started with Device Targeting.6

http://amzn.to/2osJ1GR
6

102
Step Seven: If your app uses either GameCircle or Amazon An Attention dialog box pops up with the
Associate Device Messaging features, you must associate following message: Applying a security profile
your app your app with a security profile before to an app cannot be undone. Are you sure you
with a
submitting it to the Amazon Appstore. If want to apply this Security Profile? If you’re sure
security
profile your app uses GameCircle or Amazon Device about applying the selected security profile to
(GameCircle Messaging and you don’t associate your your app, click Apply Profile.
or Amazon app with a security profile, your app will fail
Device Amazon’s testing process. 3. On the Security Profile page, a confirmation
Messaging message states <App name> is associated with
Only)
To associate your app with a security profile, the <security profile name> security profile.
follow these steps: Your app is now successfully associated with a
security profile.
1. From any tab in the app submission workflow,
click the Security Profile link, which is located
in the row of links just below the large title for
your app.

2. On the Security Profile page, select the


radio button of the security profile that you
want to apply to your app. (You should have
already created a security profile as part of
testing your GameCircle or Amazon Device
Messaging integration.)

103
Step Eight: Once you’ve successfully entered all the If your app fails any submission criteria,
Submit required information, the portal will display you’ll receive a notification that the app
your app to green check marks on all six tabs and enable the has been rejected. Fix your app as directed
Amazon
Submit App button. You can now complete the and resubmit it. Before approving an app
app submission process. and making it live on the Amazon Appstore,
Amazon verifies that your app:
Click Submit App. Respond to any failure
notifications (if needed). • Works as outlined in
your product description.

• Doesn’t impair the functionality of the

Submit App device on which it’s running.

• Doesn’t put customer data at risk.

• Complies with the terms of the


Amazon Program Materials License
Agreement7 and the Amazon Appstore
Content Policy Requirements.8

http://amzn.to/2osH1yk
7

http://amzn.to/2onEWoi
8

104
Step Eight: After approving your app, Amazon sends an
Submit email to the address associated with your
your app to company profile. This email address might not
Amazon
be the same as your Amazon Developer Portal
cont.
account address. Please see the note about
this at the top of the page, under Accounts and
Correspondence in the section titled Prepare to
Publish Your App. If after six days your app is
still in review, you can use the Contact Us form
to seek clarification.9 

http://amzn.to/2daxOKs
9

Resolve issue

Pending
“Encountered Issue”
message sent

Submit items & Review


integrated binary
through the Submitted Amazon review of
Developer Portal app and items
Approved Live
No issue
encountered in Published to the
testing Amazon store

Typical flow

105
App Your dashboard in the Amazon Developer
submission Portal displays the status of every app that
status you submit to Amazon. The status messages
reference 
are defined here: 

• Incomplete and might soon be ready for publication.


You haven’t yet completed your app No changes can be made to the app while
submission. The app is missing some of the it’s in this status. You must wait until the
fields required for submission to Amazon. app is live before making changes.

• Ready to Submit • Live


Your app is ready to be submitted to The app is now live on the store.
Amazon. You can change the metadata and
binary until you click Submit App. • Pending
You will receive an email from the Amazon
• Submitted team explaining why the review process
You have submitted the app for review, for your app was paused and asking you to
and it can no longer be edited. At this time, perform some action. You must address the
you can cancel the request for review and relevant metadata or binary issues before
continue to edit your app by clicking the your app can successfully continue through
Cancel review link. the process.

• Under Review • Rejected


Amazon is reviewing the app. You can The app did not pass the review
choose to cancel app review and restart process. You will receive an email
the submission process. from Amazon explaining the reasons
for the failed approval.
• Approved
The app has completed at least one stage • Suppressed
of the testing and content review process The app was live at one point but is no
longer in the Amazon Appstore.

106
Update If you need to make changes to an app that Once Amazon approves an app and makes it
your app has already gone live in the Amazon Appstore, live on the Amazon Appstore, you can keep
(as needed) you can simply update your published app in it up-to-date by submitting updated versions
the Amazon Appstore rather than creating a through the Amazon Developer Portal.10
new one. Updating an existing app has benefits Through the portal, you can perform any
such as:  of the following: 

• Enabling you to retain the app’s • Delete a submitted but unpublished app.
customer ratings and download
statistics across versions. • Modify device support for your app.

• Enabling your customers • Add or modify APK files to a published


to receive app updates. app. For more information, see Updating a
Published App.11

Transferring If a situation arises (such as a company merger


apps to or spin-off) where you need to transfer one
another of your published apps to another Developer
developer
account, Amazon support can help. However,
account  
note that unless it’s absolutely necessary,
Amazon strongly discourages developers
from transferring apps to different Developer
accounts. (See How do I transfer an App from
one Developer Account to another?12)

10
http://amzn.to/1gF8KUB
11
http://amzn.to/2lTTkU1
12
http://amzn.to/2osNzgx

107
108
Promoting
your app
Coding your app might be the hard part,
but it’s not the last part. You still need to
sell your app. Developers often ask how they
introduce their apps and games to new Amazon
customers. This chapter guides you through
the basic steps of promoting your app—both in
and out of the Amazon Appstore—and reaching
potential customers.

There are two steps to marketing your app.


You start by creating your detail page content
and assets—what customers see once they’ve
already decided to learn more about your app.
Then you work on driving traffic to your app
through marketing assets or opportunities.

109
Preflight □ Understand your options and decide where to invest—
checklist
with both time and money

□ Commit to ongoing promotion efforts

□ Determine the promotion methods that will best fit your audience

□ Choose the right keywords and write effective product copy

110
Challenges □□ Writing a detailed product description of your app
you might face
□□ Selecting relevant keywords for your app 

□□ Choosing screenshots for your app 

□□ Creating a video of your app in action

111
Optimizing Start with a strong product description Review your copy
your detail
page Think of your detail page as a place to create Don’t forget to edit your product description
content and
a narrative about your app. A great product before going live. It’s a good idea to get a fresh
assets
description can help to put your app in the set of eyes—especially if you’ve been looking at
best light and convert users. Make sure your your copy for a while! Reach out to friends and
description is clear, honest, and straightforward. ask for feedback to make sure what you wrote is
Introduce your app clearly and succinctly, while clear and error-free.
describing your app’s most notable features.
Explain why and how your app benefits users. Select keywords
Make sure not to make any grandiose promises
about your app, as customers can see through A crucial step in your app’s marketing strategy is
inflated claims—you don’t want to lose identifying the right keywords. Choosing these
credibility. End your description with a strong keywords and an appropriate name for your
call to action (CTA), such as “Get started now,” app helps drive discovery. Pick keywords that
or “Download now and play today!” are uniquely descriptive of your app rather than
vague terms like “Fun,” “Free,” and “Game.” Be
as accurate as possible.

Product Catalog To choose your keywords, jot down


things that are meaningful tie-ins to your
app from your target audience’s perspective.
Go to the blogs and newsgroups that your
</> target audience reads and look for frequent
terms and descriptors.

Keep tweaking and experimenting! Keyword


efficacy is always changing, so make keyword
research a regular exercise.

112
Choosing Customers respond well to great visuals.
screenshots Screenshots and videos help customers
understand your app when they’re making
a purchase or download decision.
Beautiful
Screenshots show customers how your app imagery
looks and feels. These screenshots should
show how your app stands out from others
in its category. For games, avoid screenshots
of splash screens. Instead, include images
that demonstrate the action and fun in your
game. Take screenshots of different levels or
features, displaying them in a logical order
Sequential
to complement the story you tell in your
scenes
description. A splash screen with stylized art
creates a mood and gets users’ attention.
Many developers over-index on highly
designed splash screens and don’t focus
enough on in-game action. If you must choose,
in-game screenshots should always win out.

Nobody wants
to read that

Unoriginal
& uninspired

113
Investing in If your app or game has an exciting in-app
video experience or gameplay, a video can be an
effective promotion tool. Including a gameplay
video on your app detail page gives your
customers a way to see what it’s like to play
the game. Capture video directly from your
device and create a video that shows basic
gameplay while emphasizing what makes
your game unique. Show the most stunningly
beautiful, captivating, or dramatic part of your
game. In post-processing, add a voiceover or
text overlays that explain what’s happening.
Place this video first in the order of screenshots
on your app detail page.

Promotional Promotional artwork captures the attention of


images customers. When you create colorful imagery
that reflects the essence of your apps, Amazon
can then use this artwork if your app is featured </>
in the Amazon Appstore or in advertisements.

114
Advertising Publishing in the Amazon Appstore gives you You can create an advertising campaign in
access to a self-managed app advertising less than 90 seconds. Start by selecting your
solution, available exclusively to Amazon mobile app, then preview auto-generated ads. Set
app developers. This advertising solution is your campaign details (like budget, bids, and
simple, fast, and effective. By promoting your duration). Finally, select your payment option
app on Fire tablet wake screens and through and submit your campaign. It’s that easy!
mobile placements on the Amazon Mobile Ad
Network, you can reach millions of users.

Promotions With the Amazon Developer Promotions


Console, you can create temporary discounts
for your apps and in-app items. Want to run a
24-hour special holiday sale? Or celebrate the “Advertise Your
launch of a new game by discounting all your
mobile apps? It’s simple to draw extra attention
App is the most
to your apps through temporary discounts, cost-effective,
where you control the pricing options. You
can set a percentage-based price drop across scalable solution
all in-app items, or manually adjust the price
of your items in the marketplace. Price drops
to acquire the users
provide incentive for your customers to make
in-app purchases, increasing your in-app sales.
I care most about”
And through the console, you can view detailed
reports that let you see your ROI for a specific –Kevin Tydlacka,
price-drop campaign, allowing you to continue Kevin Tydlacka Apps
to monitor and improve future promotions.

115
NINE
116
Engaging
and retaining
users
Now that your app is out there, you want This chapter takes you through strategies
your users to return to it frequently. and solutions for user experience and
You can encourage this by continuing to retention, optimizing your app’s visibility,
improve their experience. This includes and building your fan base—and better
both listening to your users’ feedback and relationships with your users.
learning about how they use your app.
Engaging further with your audience gives
you important information about your
app and provides valuable insights into
how to reach new audiences.

117
Preflight □ Enable GameCircle and Whispersync in the development process
checklist
□ Build achievements, leaderboards,

and saved game syncing into your app

□ Identify and enact a user strategy to develop your fan base

□ Create a content roadmap to plan for ongoing updates to your app

118
Challenges □□ Building a fan base from the ground up
you might face
□□ Identifying strategies to continually engage users

□□ Committing to a long-term strategy of updating/refreshing

your app and engaging with users

□□ Identifying your user types and targeting your power users

119
User By planning, designing, and building your app to make an app that can be enjoyable for an
engagement with your users front and center in your mind, extended period, but also for shorter 2 to 5
and you can create an app that will keep your users minute bursts.
retention
returning again and again.
Amazon APIs are designed to help you
In general, people use apps in one of two improve player experience and retention. In
ways: to gather information or to escape. games, you can easily implement cross-platform
Information gathering apps deliver news, achievements, leaderboards, and saved game
weather information, social media content, syncing on Android and Fire tablet apps. You
sports updates, or other valuable information. can also use Amazon Device Messaging1 to
These apps can naturally draw users back. send push notifications to your customers, or
Apps that offer entertainment or distraction use Login with Amazon2 to reduce registration
allow their users an opportunity to escape— friction by making it easy for your customers
for varying amounts of time. Sometimes a to sign in. With these tools, it’s easier for your
user will want to sit and play a game for an users to continue to enjoy a seamless experience
hour, while other times the user might need a across their devices and eagerly engage with
2-minute distraction while waiting in line. Aim your app.

1
http://amzn.to/2nBx950
2
http://amzn.to/2osJU25

!
120
Updating Regularly updating your app not only Try to plan ahead by about 2 to 4 updates.
and improves your placement in the app store, it This way your updates will be ready to go out
refreshing also signals to your users that you’re engaged at your desired cadence. Be sure to include
content
as a developer and dedicated to continuing the release notes with each update. Like the
to improve and update the app. A good rule product description, this is an important
of thumb is to plan to update your app 1 to 4 opportunity to reach users and highlight what
times per month, depending on what seems makes your app stand out, as well as a chance
most appropriate for your product. Plan to plug any new features.
your updates in advance and track your
ongoing content strategy. Create a roadmap
that will outline your content strategy,
planning around opportunities to update
content, continue the app’s story, highlight
new features, and address user feedback.

Using push Push notifications are alert-style messages that While you could send a one-size-fits-all
notifications appear on the home screen of a user’s device— message, the best notifications are tailored to
regardless of whether they have your app open. each end user. As a developer, you have access
According to Localytics, push notifications can to a wealth of data to help you personalize
boost app engagement by 88 percent. Push your messages, such as which new users
notifications provide an opportunity to connect haven’t opened the app since their first day,
and re-engage users with your app. Users can or which returning users have reached a certain
consent to receive push notifications during number of sessions or engaged with certain
the app installation process. When setting up assets. Executed properly, a push notification
your app, provide a solid value proposition to strategy can increase engagement and
convince new users to opt-in. revenue in your app.

121
Optimizing Your app listing plays a crucial role in the Amazon highlights apps through storefronts
your success of your app. A detailed, inviting like the Amazon Appstore and Amazon.com,
placement description with well-chosen, relevant but also through e-mail, Facebook, and
in the
keywords is the most important thing you can Twitter. Featured placements could include
Amazon
Appstore do to optimize your Amazon Appstore listing. “Highly Rated Apps and Games” or “Featured
Keywords can also help users find your app New Releases.”
through searches on Amazon.com, opening up
the audience for your listing even further.

A detailed, inviting
description with well-chosen,
relevant keywords is the
most important thing you
can do to optimize your
Amazon Appstore listing

122
Responding Customers take note when developers are For example, if a customer writes to complain
to feedback actively engaged with responding to customer about having to pay for items in your app,
questions and comments. Showing that you you can say: “Thanks for your note. We looked
care about the customer influences whether a at several different ways to make this game a
customer will choose your app and recommend financially sustainable project, and we decided
it to others. to go with In-App Purchasing. We continue
to explore new models as they are developed
Make a goal to respond to all reviews, both and hope to thrill you with wonderful
negative and positive—even if it’s just to say, gameplay in the future.”
“Thanks.” This lets your customers know that
you’re paying attention to their feedback. Within your app, ensure it’s easy for users to
The best approach for negative reviews is to contact you. There are tools available, like
respond with what you’ve done to fix legitimate Helpdesk or Help Scout, which can make it easy
complaints, or with a short explanation. to set up a way to hear directly from users and
respond quickly.

Customer Reviews

</>

123
Promoting Social media sites, including Facebook, Twitter,
your app Instagram, Snapchat, and even LinkedIn can
through provide effective opportunities to connect with
social media
fans and reach new users.

Create a presence for your app on Facebook


to share videos, artwork, and screen grabs
and also to deliver news about updates, exciting
new features, and your upcoming projects.
Plus, on Facebook, your users can interact
directly with you and share information
about your app with their friends.

Set up a page on Twitter as well. Twitter can


be a great tool to share your latest activities
and app updates. Twitter has also become a
common tool for users to reach out with
their customer service queries. As with
all feedback, be sure to respond to these
questions as soon as you can.

Social media sites also have internal


features that can be used to advertise
and promote your page to social media
users outside of your followers, including
sponsored posts and paid advertising.
Visit the Facebook and Twitter pages to
learn more about how these work for you.

124
Integrating The GameCircle experience and Whispersync Whispersync for Games leverages the power
GameCircle for Games are available for all Android of Amazon Web Services to store data in the
and devices, Fire tablets, and Fire TV. These cloud, where it’s stored securely and can be
Whispersync
services are free to use and provide everything synchronized any time an Internet connection
for Games
you need to implement achievements, is available. Because Whispersync for Games
leaderboards, and saved game syncing across stores a copy of the synchronized data on your
multiple devices. They work both online and player’s device, data managed by Whispersync
offline, synchronizing content the next time a for Games is always available regardless
player goes online. of whether your player is connected to the
Internet. Whispersync for Games supports
Whispersync for Games allows you to persist multiple devices and platforms, meaning that it
game data between and across more than one keeps your data in sync when shifting between
device, which means your users can start playing Android or Amazon Fire devices.
on one and then pick up the game on another,
making for a seamless experience. Whispersync
for Games automatically resolves data conflicts,
taking care of all the complexity and corner
cases around sync. It also allows you to manage
conflict resolution yourself, if you prefer to take
full control. Using Whispersync for Games is as
easy as using Shared Preferences or saving to
a file. This lets you spend more time building
games that players love and
less time managing data.

125
Adding Achievements are rewards that players earn You define achievements for your game in
achievements in your game. When properly designed, they the GameCircle panel of the Amazon Developer
to your game increase player retention and engagement by Portal. Enter the metadata associated with an
spurring users to spend more time in the game achievement and upload the images to display
so they can earn the next achievement. Once for that achievement. When a player performs
a user earns an achievement, it becomes part an action that earns them an achievement, your
of their profile. game contacts Amazon GameCircle to award
that achievement to the player.
On Fire tablets, achievements for all games that
integrate Amazon GameCircle are displayed Amazon GameCircle collects metrics on
in the Games library, while achievements for achievements, such as progress and completion
an individual game are displayed in the user rates, across your players. You can use these
interface of that game. On Android devices, metrics to better understand your players and
achievements are integrated into a game’s user how they interact with your game.
interface, and there is no integrated view of
achievements across multiple games.

You can use these metrics


to better understand your
players and how they
interact with your game

126
Adding Leaderboards display a ranked list of player You define leaderboards for your game in the
leaderboards scores. When designed properly, they can GameCircle panel of the Amazon Developer
to your game increase player engagement by creating Portal. Enter the metadata associated with a
competition between players and opportunities leaderboard and upload the images to display
for advancement. This encourages users to play in the background of that leaderboard. When
longer to improve their scores. It can also extend a player earns a score, your game contacts
the audience of your game because players Amazon GameCircle to record the score, and
encourage their friends to play so they can be Amazon GameCircle adjusts the leaderboard
ranked against people they know. rankings accordingly.

GameCircle With GameCircle social APIs, you can add


friends GameCircle friends data to your game for
players who use Amazon devices. Players
using Amazon devices can create profiles for
themselves, including a nickname and profile
image, and add other GameCircle players to
their friends lists. You can access this data
and display it in your own games, or use it to
leverage custom social interaction features.

127
Building your As your players develop into a fan base, it helps When you contact them, focus on why the app
fan base to understand the types of fans these players would be a good fit for them and why their fans
become. This allows you to focus on the areas and readers would care about it. Help them
of your app that are most important to them. to reach their audiences by providing ways for
Two important categories of your fan base are them to express their excitement about your
influencers and content creators. product. Include a strong description, videos
that show the best highlights of your game, and
Influencers are the small group of early adopters headline-suitable screenshots. And don’t forget
who can create or contribute to a change in to include a link to download the game.
opinion or behavior of a larger audience. Within
these influencers are advocates, players that In addition to influencers in your app’s fan
influence peer groups. You can build advocate base, you’ll have content creators. These are
fans through engagement opportunities—like fans eager to extend the in-game experience
a chance to chat with the developers, share through their own content creation. You can
fan art or photos, or participate in local events encourage these fans by making it easy for
or other events and opportunities to show them to share and promote their content within
their loyalty. Professionals are different from the app through badges, boards, or other in-app
advocates because they are influencers with opportunities.
a wide reach. These include YouTube stars,
celebrities, or other professionals with a lot of
fans of their own. Target professionals who you
believe will be genuinely interested in your app.

128
A fan base drives revenue for
your app through evangelism,
player recruitment, and
subscription revenue. Outside
of the game, this evangelism
can also result in product
sales. By providing products
for sale, you can support your
loyal fans and help promote
your app at the same time.

129
Increasing Another way to grow your audience is through Twitch streamers with an established following,
user Twitch. This platform helps you engage with or other gaming professionals in the media,
engagement users, develop a fan base, and spread the word might also be interested in helping you promote
in games
about your game by giving potential users a your game. There are a few best practices to
through
Twitch chance to preview it. While new users get to see keep in mind when you’re reaching out to
exactly what it would be like to play your game, Twitch streamers or any other member of the
existing users can connect with each other to media. Most importantly, ensure that you’re
discuss their favorite aspects of your game and contacting the right professional for your
share tips and tricks. game—someone with a demonstrated interest
in what you’ve created. Make it as easy as
Through Twitch, you can respond to feedback possible for the professional to understand
and talk directly with your customers about what your app is and download the app for
what they’re looking for. Plus, you can take themselves. If you’re hoping they’ll publish a
advantage of opportunities to cultivate your post about your app, take care to include all
community, like giving out early access to new the assets they would need—like screenshots,
games before they launch, soliciting feedback download information, and links to videos of
from broadcasters, and creating original content your game in action. The open-source presskit()
through your Twitch channel. (pronounced “do presskit”)3 has become the
industry standard in promoting games. This
Note: While creating and maintaining a means it has become what people are expecting
Twitch channel is an important step for your to see, which makes it an easy choice in sending
game, you’ll likely experience a slow growth accessible, relevant information. (See presskit()
curve that will require considerable content to learn more.)
creation and dedication. Be prepared to spend
time engaging with users, creating interesting http://bit.ly/2osJQ2d
3

content, and keeping your Twitch stream


updated regularly.

130
Top tips • Show them why their fans or
to reach readers will care.
professionals

• Include video that shows the most


amazing parts of your game.

• Include headline-suitable screenshots.

• Include a link to download the game.


(Research first to ensure that they can
play the game on their preferred device.)

Twitch Streaming

</>

131
132
Measuring and
optimizing
your app
Your app needs analytics. It’s run the risk of missing important
tempting to assume you know what insights that can help with
your users are trying to do, and how addressing your customer’s needs.
they will (or won’t) use your app. As This can lead to lower retention
the architect of your solution, it’s and loss of customers.
easy to project your own expectations
into your app. But this overlooks the In this chapter, you’ll learn how
user’s actual experience.  to instrument your app to take
advantage of Mobile Analytics,
Users will surprise you. They’ll find understand the data you collect,
alternative solutions or exhibit and build insights that you can use
unanticipated behavior when using in future updates for your app. 
your app. Some users will provide
feedback via reviews or commentary,
but others will remain silent. Without
the telemetry to track usage, you

133
Preflight □ Make sure you have an Amazon AWS account
checklist
□ Sign up for Mobile Analytics

134
Challenges □ Understanding the value of collecting user data
you might face
□ Deciding what data to collect

□ Instrumenting your app for data collection

□ Learning how to draw insight from your data

□ Viewing your analytic data/reports

135
Amazon By using Amazon Mobile Analytics, you can
Mobile track customer behaviors, aggregate metrics,
Analytics Amazon Mobile Analytics
generate data visualizations, and identify
meaningful patterns. This gives you deep
insights that can improve your KPIs. Mobile
Analytics can automatically copy your app </>
event data to Amazon S3 and Amazon Redshift
and analyze app usage patterns with SQL
queries or other tools.

Mobile Analytics serves as the collection


point for data transmitted from user
sessions with the Insights SDK. As telemetry Mobile Analytics is now also part of your
data comes in, the analytics platform builds Amazon Pinpoint service. Pinpoint builds upon
insights and presents reports on key indicators the capabilities of Mobile Analytics to help
such as new and returning users, user retention, you drive targeted content to your users with
app revenue, and user behaviors. Data greater accuracy.
visualizations show performance on your key
indicators, and ongoing trends.

136
If you’re looking for a way
to beta test your app among
hundreds of other developers,
it’s a good idea to use
Amazon’s Live App Testing

137
Understanding When you add an app to Mobile Analytics, It’s important to note that three of these
your data several metrics are automatically collected from dashboards actually come from one tracked
your app. These metrics can be viewed from the activity: when your app is opened. When this is
main default dashboards in the Mobile Analytics tied to anonymized user identity and timestamp
console: overview, active users, sessions, information, a great deal of useful information
revenue, and retention. If you have custom app becomes available.
events, they will be available on the Custom
Events dashboard. You will also have the option You can gain deeper insights by creating custom
of creating custom dashboards. events. For example, the default dashboard
might show a dip in your app’s retention after
two weeks, but without additional data, you’re
left guessing about the cause of abandonment.
Amazon Mobile Analytics With a custom event that tracks user progress,
you might compare average progress against
session count. In this way, you might find that

$</> users are experiencing a plateau of progression


despite regular participation, leading to early
abandonment.

In a more advanced scenario, you can also use


The default dashboards are built from the custom events to study usability. Logging which
measures that come with Mobile Analytics out controls are used most frequently, or whether
of the box: users seem to have trouble finding a specific
control, can provide insight into how your users
• Active users (daily and monthly) use your app. This can be useful during soft
launches (early versions of your app) or when
• Sessions (instances in which adding features, to identify the best layout for
your app was opened) your interface.

• Revenue (from in-app purchases)

• Retention percentages (daily and monthly)

138
Building As pointed out earlier, three of the four default When it comes to extending these existing
insights dashboards come from a single activity, one capabilities with your own data, there are nearly
that only holds two data points: a unique user limitless options. It’s important to keep in mind
identifier and a timestamp of when that user that a few data points—or even just one—can
opened your app. The different dashboards go a long way. Consider this example: Chapter
build upon that raw data by framing a Four: Building your app introduced the concept
question—a need for information—and of graceful degradation. The idea is to handle
grouping and aggregating that data to provide certain errors with a simple notification alerting
an answer for that question. Here are some the user to the condition rather than letting
examples from the default dashboards: the app crash for no apparent reason. Adding
a custom event that logs when these error
Active users (daily and monthly) conditions occur lets you generate reports on
The question being posed on this dashboard is error incidents. With a bit of metadata, such as
“How many unique users opened my app during which function or feature generated the error,
a specific timeframe?” This is basically a count you can generate reports on errors happening
of unique user IDs per day and per month. with your app even before your users start to
log issues.
Sessions
The question posed here is “How many times With the addition of a few well-planned API
was my app opened?” In the context of these calls to Mobile Analytics, you can begin to
reports, a session is an instance of your app generate critical data on the health and use
being opened. A second chart shows the of your app. This can easily be used to head
average number of times an active user opens off potential issues with your app or provide
your app in a day. insights into which features you might want to
prioritize in your next update.
Retention percentages
The question here is “How many users are For more information, see
continuing to use my app?” Reaching an answer Amazon Mobile Analytics.1
to this question is a bit more complex and
requires establishing time elapsed between http://amzn.to/2osNzNh
1

distinct sessions. But this metric is still built


upon two data fields and comparing multiple
instances over time.

139
Conclusion
Congratulations! You’re now equipped with
everything you need to successfully launch
your app in the Amazon Appstore. From
publishing your app in the Amazon Appstore to
sharing the news of everything your app does;
from cultivating a community of dedicated users
to designing T-shirts and updating your Twitch
page, you’re finally beginning to enjoy the
rewards of your hard work.

140
Next steps

• Plan ongoing content updates • Continue to measure and


to keep users engaged. improve your KPIs.

• Continue to optimize your app’s • Build more apps!


placement in the Amazon Appstore.

• Continue your marketing


and promotion.

Maintaining your app with bug fixes, and expanding on existing features that are
upgrades, and improvements is extremely seeing the most use. This won’t just make your
important to the continued success of your app more beneficial and appealing to your
app. As the capabilities and features of mobile established users—you’ll also be delivering a
platforms continue to evolve, you’ll need to better experience for new users.
work to ensure that your app is keeping up—
As your user base grows, so will your
and that your users can get the most out of
opportunities to market and promote your app
the new features.
and to continue to grow your fan base. Through
Keeping your app up-to-date will require continued engagement, responding to feedback,
dedication and planning, but keep in mind that and cultivating a community, you can contribute
regularly maintaining your app will be easier to the ongoing growth and success of your app.
and more cost-effective than allowing the app
Be sure to follow the Amazon Developer
to sit and gather a backlog of new feature
blog to be notified of the latest platform
requests that need to be addressed through
changes, stay up-to-date on new devices
major changes, or even a complete rewrite
available from Amazon, and connect with other
of your app. In addition to keeping up with
developers.1 You’ll see what’s working best for
changing platforms and adding new features,
them, getting ideas and inspiration from their
stay engaged with users and address their
experiences.
feedback by adding the features they request—

http://amzn.to/2o7n7fH
1

141
Made by Amazon

142

You might also like