Jul 18

Google Play services and Firebase for Android will support API level 14 at minimum

Posted by Doug Stevenson, Developer Advocate

Version 10.0.0 of the Google Play services client libraries, as well as the
Firebase client libraries for Android, will be the last version of these
libraries that support Android API
level 9 (Android 2.3, Gingerbread). The next scheduled release of these
libraries, version 10.2.0, will increase the minimum supported API level from 9
to 14 (Android 4.0.1, Ice Cream Sandwich). This change will happen in early
2017.

Why are we discontinuing support for Gingerbread and Honeycomb in Google
Play services?

The Gingerbread platform is almost six years old. Many Android developers have
already discontinued support for Gingerbread in their apps. This helps them
build better apps that make use of the newer capabilities of the Android
platform. For us, the situation is the same. By making this change, we will be
able to provide a more robust collection of tools for Android developers with
greater speed.

What this means for your Android app that uses Google Play services or
Firebase:

You may use version 10.0.0 of Google Play services and Firebase as you are
currently. It will continue to work with Gingerbread devices as it has in the
past.

When you choose to upgrade to the future version 10.2.0, and if your app
minimally supports API level 14 or greater (typically specified as
“minSdkVersion” in your build.gradle), you will not encounter any versioning
problems. However, if your app supports lower than API level 14, you will
encounter a problem at build time with an error that looks like this:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smaller than version 14 declared in library [com.google.android.gms:play-services:10.2.0]
        Suggestion: use tools:overrideLibrary="com.google.android.gms:play_services" to force usage

Unfortunately, the stated suggestion will not help you successfully run your app
on older devices. In order to use Google Play services 10.2.0 and later, you
can choose one of the following options:

1. Target API level 14 as the minimum supported API level.

This is the recommended course of action. To discontinue support for API levels
that will no longer receive Google Play services updates, simply increase the
minSdkVersion value in your app’s build.gradle to at least 14. If you update
your app in this way and publish it to the Play Store, users of devices with
less than that level of support will not be able to see or download the update.
However, they will still be able to download and use the most recently published
version of the app that does target their device.

A very small percentage of all Android devices are using API levels less than
14. You can read more about
the current distribution of Android devices. We believe that many of these
old devices are not actively being used.

If your app still has a significant number of users on older devices, you can
use multiple APK support in Google Play to deliver an APK that uses Google Play
services 10.0.0. This is described below.

2. Build multiple APKs to support devices with an API level less than
14.

Along with some configuration and code management, you can build
multiple APKs that support different minimum API levels, with different
versions of Google Play services. You can accomplish this with build
variants in Gradle. First, define build flavors for legacy and newer
versions of your app. For example, in your build.gradle, define two different
product flavors, with two different compile dependencies for the components of
Play Services you’re using:

productFlavors {
    legacy {
        minSdkVersion 9
        versionCode 901  // Min API level 9, v01
    }
    current {
        minSdkVersion 14
        versionCode 1401  // Min API level 14, v01
    }
}

dependencies {
    legacyCompile 'com.google.android.gms:play-services:10.0.0'
    currentCompile 'com.google.android.gms:play-services:10.2.0'
}

In the above situation, there are two product flavors being built against two
different versions of the Google Play services client libraries. This will work
fine if only APIs are called that are available in the 10.0.0 library. If you
need to call newer APIs made available with 10.2.0, you will have to create a
compatibility library for the newer API calls so that they are only built into
the version of the application that can use them:

  • Declare a Java interface that exposes the higher-level functionality you
    want to perform that is only available in current versions of Play services.

  • Build two Android libraries that implement that interface. The “current”
    implementation should call the newer APIs as desired. The “legacy”
    implementation should no-op or otherwise act as desired with older versions of
    Play services. The interface should be added to both libraries.

  • Conditionally compile each library into the app using “legacyCompile” and
    “currentCompile” dependencies.

  • In the app’s code, call through to the compatibility library whenever newer
    Play APIs are required.

After building a release APK for each flavor, you then publish them both to the
Play Store, and the device will update with the most appropriate version for
that device. Read more about multiple
APK support in the Play Store.


Android Developers Blog

Jul 06

Look out for our bi-annual Google Play Developer Sentiment Survey, coming soon

Posted by Dorothy Kelly, Head of Developer Insights, Google Play Developer
Marketing

Core to our mission, we’re always
focused on the user and delivering the best experience possible. This same
principle underlies how Google Play works with developers, as we aim to provide
you with best experience working with us and our products. We can only do this
through understanding what you need and how we can improve. We ran our first
Developer Sentiment Survey in July this year, and heard feedback from over 4,000
developers across 15 countries. This bi-annual survey gathers feedback at scale
from the thousands of developers around the world who publish their apps and
games on Google Play. While it was great to hear how Google Play is working for
you, we also learned how we should improve to enable you to build even more
successful businesses.

This month, you may receive an email from Google Play inviting you to
participate in the next Google Play Developer Sentiment Survey. This invitation
is sent to a selection developers who have opted in to receive Research contacts
in the Developer Console, or to those who are directly managed by Google. You
can review and update your
preferences in the Developer Console to ensure you get the opportunity to be
invited to participate in future surveys.

In this survey we ask you to give us feedback across a number of areas:

  • Develop: Testing, publishing and launching your app or
    game.

  • Grow: Discovery and marketing of your app or game.
  • Engage: Distributing to and engaging with your target
    market.

  • Earn: Pricing and Payment methods.
  • Getting Support: Accessing the information and support you
    need when you have a question.

We use your feedback to decide what we need to focus on next to help you grow
your app or game business. Initiatives announced at I/O 2016, such as improved
betas, prelaunch reporting, the Developer Console app, and pricing templates,
were all developed in response to feedback from developers like you.

If you do receive an invitation to participate in this survey, we really
appreciate you taking the time to complete it. We value your feedback and want
to act on it to help you create apps and games that delight your users, and help
you build a successful business anywhere in the world.


Android Developers Blog

Jul 03

Congrats to the new Android Excellence apps and games on Google Play


Posted by Kacey Fahey, Developer Marketing, Google Play

Join us in congratulating the latest apps and games entering the Android Excellence program on Google Play. This diverse group of apps and games is recognized for their high quality, great user experience, and strong technical performance. Whether you’re interested in learning meditation or a new language, or are looking for a game about butterflies or warships, we’re excited to dive in to these new collections.

Winning apps image

Check out a few of our highlighted apps.

  • Beelinguapp: Learn a new language with this unique app. Read and listen to stories with side by side text of the language you’re learning, while following along with your language as a reference.
  • Fortune City: If you’re looking for a fun app to help manage your personal finances, learn how Fortune City teaches good budgeting habits as you build a prospering metropolis.
  • ShareTheMeal: Feed a child in need with one tap on your phone, or create a team to fight hunger together with your friends, using this app by the World Food Programme.

Test your skills with these highlighted games.

  • Animal Crossing™: Pocket Camp: Take on the role of campsite manager as you collect items to decorate and build your ultimate dream campsite. Meet animals, build friendships and invite your favorite animals over for a fun time.
  • Cash, Inc.: Be the big boss of your business empire in this fun game. Work your way up to join a community of business elites and become the most famous money tycoon.
  • Shadowgun Legends: Save humanity from an alien invader in an epic Story Campaign spanning over 200+ mission on 4 diverse planets. Along the way, customize your character, team up with friends, and become a celebrity of the Shadowgun Universe.

See the full list of Android Excellence apps and games.

New Android Excellence apps New Android Excellence games
Beelinguapp

BTFIT

Fortune City

Letras.mus.br

LingoDeer

Memrise

PicsArt

Pocket Casts

ShareTheMeal

The Mindfulness App

Tokopedia

Trello

VivaReal

Wynk Music
Animal Crossing™: Pocket Camp

Cash, Inc.

Flutter: Starlight

Shadow Fight 3

Shadowgun Legends

War Heroes

World of Warships Blitz

Explore other great apps and games in the Editors’ Choice section on Google Play and discover best practices to help you build quality apps and games.

How useful did you find this blogpost?

★ ★ ★ ★ ★



Android Developers Blog

Jun 30

Improving discovery of quality apps and games on the Play Store

Posted by Paul Bankhead, Director, Product Management, Google Play

Every day, millions of people come to the Play Store to discover the best apps and games. As part of our continued effort to deliver great experiences to our users, we regularly update the Play Store to help people find and discover safe, high quality, and relevant apps and games.

Over the last year, we’ve been enhancing our search and discovery algorithms’ consideration of app quality and user engagement. This means that apps and games that have high retention rates, low crash rates, low uninstalls, and many other factors, are recommended more often.

Recently, we increased the importance of engagement and app quality in our recommendation systems and users reacted favorably to the changes. With more high quality titles being surfaced in the Play Store’s recommendations, people are playing the games they download more often.

We believe that providing great experiences for our users on Google Play will encourage a healthier, growing Android ecosystem. We encourage all developers to review some of the suggestions in this post and on developers.android.com for guidance and best practices.


Android Developers Blog

Jun 29

Automating your app releases with Google Play


Posted by Nicholas Lativy, Software Engineer

At Google I/O we shared how Google’s own apps make use of Google Play for successful launches and updates and introduced the new Google Play Developer Publishing API Version 3.

The Publishing API enables you to integrate publishing operations into your existing release process or automated workflows by providing the ability to upload APKs and roll out releases. Here’s an overview of some of the improvements you can now take advantage of in Version 3 of the API.

Releases in the API

The Publishing API now uses the release model you are familiar with from the Play Console.

{
  "track": "production",
  "releases": [
    {
      "name": "Release One",
      "versionCodes": ["100"],
      "status": "completed"
    }
  ]
}

This gives you full control over releases via the API allowing a number of operations which were previously available only in the Play Console. For example, you can now control the name of releases created via the API, and we have now relaxed the constraints on what can be rolled out via the API to match the Play Console.

Additional testing tracks

The API now supports releasing to any of the testing tracks you have configured for your application as well as the production track. This makes it possible to configure your continuous integration system to push a new build to your internal test track as soon as it’s ready for QA.

Staged rollout

Staged rollouts are the recommended way to deploy new versions of your app. They allow you to make your new release available to a small percentage of users and gradually increase this percentage as your confidence in the release grows.

Staged rollouts are now represented directly in the API as inProgress releases.

{
  "track": "production",
  "releases": [
    {
      "versionCodes": ["100"],
      "status": "completed"
    },
    {
      "versionCodes": ["200"],
      "status": "inProgress",
      "userFraction": 0.1
    }
  ]
}

You can now halt a staged rollout via the API by changing its status to halted. This makes it possible to automatically respond to any problems you detect while performing a rollout. If it turns out to be a false alarm, the API now also allows you to resume a halted release by changing its status back to inProgress.

Release notes

Release notes are a useful way to communicate to users new features you have added in a release. In V3 we have simplified how these are specified via the API by adding the releaseNotes field to release.

{
  "track": "production",
  "releases": [
    {
      "versionCodes": ["100"],
      "status": "completed",
      "releaseNotes": [
        {
          "language": "en-US",
          "text": "Now it's easier to specify release notes."
        },
        {
           "language": "it-IT",
           "text": "Ora è più semplice specificare le note sulla versione."
        }
    }
  ]
}

Draft releases

We know that while many developers are comfortable deploying test builds automatically, they like using the Play Console when rolling out to production.

So, in the V3 API we have added the ability to create and manage Draft Releases.

{
  "track": "production",
  "releases": [
    {
      "name": "Big Launch",
      "versionCodes": ["200"],
      "status": "draft"
    }
  ]
}

This allows you to upload APKs or App Bundles and create a draft release from your continuous integration system, and then have your product manager log in, check that everything looks good, and hit “Confirm and Rollout”.

We hope you find these features useful and take advantage of them for successful launches and updates with Google Play. If you’re interested in some of the other great tools for distributing your apps, check out the I/O sessions which have now been posted to the Android Developers YouTube Channel.

How useful did you find this blogpost?

★ ★ ★ ★ ★



Android Developers Blog

Jun 27

Launching the Indie Games Accelerator in Asia – helping gaming startups find success on Google Play


Posted by Anuj Gulati, Developer Marketing Manager, Google Play and Sami Kizilbash, Developer Relations Program Manager, Google

Emerging markets now account for more than 40% of game installs on Google Play. Rapid smartphone adoption in these regions presents a new base of engaged gamers that are looking for high quality mobile gaming experiences. At Google Play, we are focused on helping local game developers from these markets achieve their full potential and make the most of this opportunity.

Indie Games Accelerator is a new initiative to support top indie game startups from India, Indonesia, Malaysia, Pakistan, Philippines, Singapore, Thailand and Vietnam who are looking to supercharge their growth on Android. This four month program is a special edition of Launchpad Accelerator, designed in close collaboration with Google Play, featuring a comprehensive gaming curriculum and mentorship from top mobile gaming experts.

Successful participants will be invited to attend two all-expense-paid gaming bootcamps at the Google Asia-Pacific office in Singapore, where they will receive personalized mentorship from Google teams and industry experts. Additional benefits include Google Cloud Platform credits, invites to exclusive Google and industry events, and more.

Visit the program website to find out more and apply now.

How useful did you find this blogpost?

★ ★ ★ ★ ★



Android Developers Blog

Jun 21

Keeping the Play Store trusted: fighting fraud and spam installs

Posted by Kazushi Nagayama, Search Quality Analyst, and Andrew Ahn, Product
Manager

We strive to continuously make Google Play the best platform for enjoying and
discovering the most innovative and trusted apps. Today we are announcing
additional enhancements to protect the integrity of the store.

Our teams work every day to improve the quality of our discovery systems. These
content discovery systems ensure that users can find and download apps they will
love. From time to time, we observe instances of developers attempting to
manipulate the placement of their apps through illegitimate means like
fraudulent installs, fake reviews, and incentivized ratings. These attempts not
only violate the Google Play
Developer Policy, but also harm our community of developers by hindering
their chances of being discovered or recommended through our systems.
Ultimately, they put the end users at risk of making wrong decisions based on
inaccurate, unauthentic information.

Today we are rolling out improved detection and filtering systems to combat such
manipulation attempts. If an install is conducted with the intention to
manipulate an app’s placement on Google Play, our systems will detect and filter
it. Furthermore, developers who continue to exhibit such behaviors could have
their apps taken down from Google Play.

In the vast majority of cases, no action will be needed. If you are asking
someone else to promote your app (e.g., third-party marketing agency), we advise
you to make sure that the promotion is based on legitimate practices. In case of
questions, please check out the Developer Support
Resources.

These important changes will help protect the integrity of Google Play, our
developer community, and ultimately our end user. Thank you for your support in
building the world’s most trusted store for apps and games!


Android Developers Blog

Jun 21

Grow and optimize your subscriptions with new Google Play features


Posted by Larry Yang and Angela Ying, Product Managers, Google Play

Subscriptions on Google Play continue to see huge growth, with subscribers growing over 80% year over year. At I/O 2018, we announced several improvements we’re making to the user experience to reduce barriers to subscription sign-up, and more tools to let you manage your business the way you want to.

More control for subscribers

While users derive a lot of value from their subscriptions, our research shows their fears of being “trapped” in a subscription without the ability to cancel or worry they’ll lose track of how much they’re spending create a hindrance to users signing up for your subscription apps. To address these fears, we recently launched a new subscriptions center, a one-stop shop for users to manage their subscriptions on Google Play.

Through the subscriptions center, users can:

  • View all of their subscriptions to see details and status
  • Manage and update payment methods, including setting up a backup payment method
  • Renew a subscription
  • Restore a cancelled subscription
  • Cancel a subscription

In addition, if a user cancels a subscription, we will now trigger a cancellation survey to give developers feedback as to why the user is cancelling. Currently you can see the data from the cancellation survey by querying our server side API.

The new subscriptions center also has a “Get Started” link in the empty state that lets users discover subscription apps through curated and localized collections.

With the launch of the subscriptions center, we’re also launching new deep links you can use to direct your users to manage their subscriptions from your app, over email or via the web. To implement, use the package name and SKU to construct the deep link, and then add the deep link as a button or link from anywhere in your app. View the Android Developers website for more information.

More control for you

In addition to creating a better experience for users, we’re also rolling out new tools that give you more flexibility in managing your business. One of the features we’ve heard requested most is price changes. Coming soon, you can easily ask users to accept a price change via the Google Play Console without having to set up a completely new SKU. Google Play will notify users of the change via emails, push notifications and in-app messaging, and if by renewal date the user hasn’t agreed, we’ll cancel their subscription. Sign up here if you are interested in participating in the early access program.

Other features we launched at I/O that help you better manage your subscription business include the ability to:

  • Upgrade a subscription without changing the user’s expiration date
  • Issue a partial refund from the Play Console
  • Refund specific subscription renewals, not just the latest one
  • Use order IDs with the server-side API
  • Use the Refund API with the Google Play Developer API

This is in addition to faster test renewals and flexible intro pricing we announced earlier this year.

To easily implement all of these, make sure you are using the Google Play Billing Library, which launched version 1.1 at I/O. The billing library is an abstraction layer on top of the AIDL file, and API updates are automatically picked up when you update your build dependency file the next time you compile your app. Price changes and upgrade/downgrade with the same expiration date are only available through the billing library. This will be the case for future launches as well.

Better for everyone

We strongly believe that by building a great user experience, we build a high quality subscriber base. And by giving you tools and insights to better manage your business, you have the flexibility to do what is best for your business and your customers.

How useful did you find this blogpost?

★ ★ ★ ★ ★



Android Developers Blog

Jun 08

Android Developer Stories: drupe and Noom expand globally by localising their apps on Google Play

Posted by Kacey Fahey, Marketing Programs Manager, Google Play

Interested in growing your app on a global scale? See how two app developers
localized their apps in unique ways to drive revenue and user engagement.

drupe

drupe
is a communications app that utilizes the openness of android to build a truly
native experience delivering highly contextual recommendations to their users
across the world.

Key to achieving international growth, drupe has translated their app in 17
languages, and their store listing page in 28 languages. This led to an increase
in conversion and retention rates. Additionally, when entering India, the team
noticed several user reviews requesting integration with a specific messaging
app widely used in the Indian market. Through a combination of this integration,
adding Hindi language translation, and other new features, drupe saw improved
performance. In six months, daily active users increased 300%, and actions per
average daily user increased 25% in the Indian market.

Noom

Noom
is a health & fitness app that has achieved an 80% increase in international
revenue growth on Android over the past three years by localizing their app with
unique cultural behaviors, cuisines, and local-market coaches.

In addition to translating their app and store listing page, Noom conducted
extensive analysis to determine the right financial model tailored to each
international market. This included evaluation of their competitive landscape
and local health and wellness spending behavior, in addition to running pricing
experiments to determine the optimal offering between subscriptions, IAPs, or a
premium app.

Use the Localization
Checklist to learn more about tailoring your app for different markets to
drive installs and revenue, and to create a better overall user experience.
Also, get the Playbook for
Developers app to stay up-to-date on new features and learn best practices
that will help you grow a successful business on Google Play.

Read the full articles for drupe
and Noom.


Android Developers Blog