Developers Guide To The Amazon Appstore
Developers Guide To The Amazon Appstore
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.”
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.
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
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.
8
Sample Preflight checklist Sample Challenges
you might face
□□ Select an Android app to publish □□ Learning how to get started with migration
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.
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.
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.
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
18
Challenges □□ Learning how to get started with migration
you might face
□□ Finding documentation and guidance
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
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
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
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.
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
GPS geo-location on
Use Wi-Fi geo-location or code your
tablets without a mobile
app to degrade gracefully
data plan
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.
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
http://amzn.to/2oW6Mem
20
4. Enter app description(s).
http://bit.ly/2pgEGeT
21
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
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
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.
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.
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
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.
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.
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.
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.
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
42
Challenges □□ Understanding your app’s environmental needs
you might face
□□ Planning your app for scale
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.
44
Plugin or extension Documentation
¹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.
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.
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#.
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.
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:
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
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.
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.
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.
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.
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
64
Challenges □□ Selecting an app monetization model that fits
you might face
with your app, is appealing to your user base,
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
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
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).
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
78
Challenges □□ Meeting the requirements for a successful submission
you might face
□□ Resolving issues found in test
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
</>
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
• Provide visual indication that a user’s action • Have UI text that is free of
has succeeded or failed. grammatical or spelling errors.
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.
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
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.
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
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
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.
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
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.
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.
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.
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.
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
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.
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.
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.
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
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:
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.
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.
109
Preflight □ Understand your options and decide where to invest—
checklist
with both time and money
□ Determine the promotion methods that will best fit your audience
110
Challenges □□ Writing a detailed product description of your app
you might face
□□ Selecting relevant keywords for your app
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.
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.
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.
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,
118
Challenges □□ Building a fan base from the ground up
you might face
□□ Identifying strategies to continually engage 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.
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.
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.
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
130
Top tips • Show them why their fans or
to reach readers will care.
professionals
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
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.
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
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
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
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