Wednesday, November 30, 2016

Learn tips from Memrise to increase in-app conversions with pricing experiments


Posted by Tamzin Taylor, Partner Development Manager at Google
Play, & Kristina Narusk, Head of Production at Memrise



Getting people to install your app is one thing, getting them to sign up to your
paid offering is quite another. It's important to understand the complete
journey your users take from installing your app to paying for something. Once
you do, you can experiment on the flow to try and increase conversions. Memrise
has found great success in experimenting on their language learning app to
increase the number of paying users.



Four experiments Memrise use to improve conversions



href="https://play.google.com/store/apps/details?id=com.memrise.android.memrisecompanion">Memrise
makes languages fun with a number of different learning modes you can play to
help increase your vocabulary in a chosen language. You can download the app for
free and play some of the modes or take advantage of their premium subscription
offering called 'Memrise Pro' which offers new game modes and additional
features like offline learning. Memrise recently ran a number of conversion
experiments with the main objective of increasing the Average Revenue Per Daily
Active User (ARPDAU). These experiments tested multiple user experience and
pricing experiment scenarios.



1. A/B test how messaging different user benefits can impact
conversion



What they did: Memrise wanted to know what motivation and call
to action would convert the most users to buy a Pro subscription from a locked
game mode in the app. To do this, they ran an A/B test with two similar designs,
featuring different reasons for the user to upgrade, and compared the results to
their original upgrade messaging.













Screen Shot 2016-10-11 at 15.26.00.png


Screen Shot 2016-10-11 at 15.25.34.png


Test A: Focus on ‘difficult’ words with an orange background.


Test B: Focus on ‘favorite’ words with a pink background.






Results: Test A performed the best. Conversion to Pro in Test A
was 28% higher than in Test B. Pro mode usage was subsequently 9.7% higher in
Test A compared to Test B too.



Next steps: After seeing how test A won the experiment, Memrise
applied this creative across the board. Subscribers driven by that particular
mode increased as a percentage of all subscriptions in the app by 16%. Memrise
plans to run additional A/B tests at others points of conversion in the app to
see if they can increase the results even further. They'll also try different
text for the call to actions.



2. Test whether adapting to local price points results in sustainable
uplift



In 2015, Google Play launched new minimum local price levels in countries around
the world. To take advantage of the new price points, Memrise tested lowering
localised prices in certain markets to better match purchasing power. Prices
were an average of 6 times lower during this experiment.




Results: After 30 days, Memrise saw the following changes in
conversions to paid users:




















🇹🇷


Turkey


⇧180%


🇧🇷


Brazil


⇧182%


🇷🇺


Russia


⇧99%


🇲🇽


Mexico


⇧115%


🇮🇳


India


⇩5.1%


🇮🇩


Indonesia


⇧152%


🇰🇷


South Korea


⇧120%


🇹🇭


Thailand


⇧70%


🇲🇾


Malaysia


⇧27%






Next steps: The change in price affected the subscription
dynamics with more users taking advantage of Memrise's in-app discounted offer
in most countries. The offer was for annual subscribers only and has led to a
positive effect on LTV. One insight from the experiment was that Indian users
prefered to have the option to subscribe in weekly or monthly increments and not
just annually. Memrise is still tracking carefully to see whether the discounted
subscription pricing will lead to an increase in conversions.



3. Test when and how often you offer free trials to see if that affects
conversion rate



Memrise occasionally offers users, who aren't Pro subscribers, a free trial of
one of the Pro game modes while cycling through the various free modes. After
the free trial session, users are presented with an offer to subscribe. Memrise
experimented with the offer's timing making it appear more frequently while
users were cycling through normal free sessions Instead of after every 49th
session, users saw the unlocked mode after every 21st session.













Screenshot_unlocked.png


Screenshot_unclocked_offer.png


An example of a free trial of a Pro mode.


After completing a free trial, users see a discounted subscription offer.






Results: Offering a free trial more frequently paid off. The
conversion rate increased by 50% while all other conversion rates remained the
same.



Next steps: Memrise maintained the more frequent offer cadence
and has seen revenue growth as a result.



4. Test whether seasonal discounts result in more conversions

Memrise launched a 'Back to School' campaign presenting all users with a
discounted annual plan offer for a week in September 2016. The aim was to
convert more users and generate higher value users from annual subscription
plans.




Screen Shot 2016-10-11 at 16.03.14.png




Results: Memrise saw two effects from the seasonal offer. As a
result of only presenting an annual period and removing weekly and monthly, 20%
fewer users per day converted to Pro. However, because more people were taking
an annual subscription than a shorter subscription, the average revenue per day
increased by 32% justifying the change.



Next steps: Memrise plans to test different offers in the
future with a combination of subscription offerings. They'll also focus offers
in countries like Turkey and Mexico, where they saw the biggest increase in
conversions.



Keep experimenting and take advantage of new features to improve the
user experience and increase conversions



At Playtime San Francisco, href="http://android-developers.blogspot.com/2016/11/welcome-to-playtime.html">we
announced that introductory pricing for subscriptions would be coming soon
and the feature is now live. By continually testing messaging, pricing, offers,
and free trials or discounted trials, you could increase the conversions in your
app and your ongoing revenue just like Memrise. Learn more about href="https://developer.android.com/google/play/billing/billing_subscriptions.html?utm_campaign=android_discussion_pricingexperiments_113016&utm_source=anddev&utm_medium=blog">Google
Play in-app billing subscriptions and href="https://play.google.com/store/apps/details?id=com.google.android.apps.secrets">get
the Playbook for Developers app to stay up-to-date with features and best
practices that will help you grow a successful business on Google Play.




How useful did you find this blogpost?










Keeping it real: Improving reviews and ratings in Google Play


Posted by Andrew Ahn, Product Manager and Buddhika Kottahachchi, Product
Manager



The Play Store contains the largest catalog of apps in the world. As our users
make decisions about the apps they'd like to install, we want to ensure Play
provides a trustworthy experience.



Recently, we href="http://android-developers.blogspot.com/2016/10/keeping-the-play-store-trusted-fighting-fraud-and-spam-installs.html">announced
our improvements in fighting fraudulent and spam app installs. In continuing our
efforts to combat spammy behavior, we've also improved the ways we identify and
remove fake reviews and ratings. With this enhanced capability we are now able
to identify and remove more fake reviews and ratings with greater accuracy.



In the vast majority of cases, no action is needed. If you are working with
someone else to promote your app (e.g., third-party marketing agencies), we
advise you to check-in and ensure that their promotion techniques use legitimate
practices, and adhere to the href="https://play.google.com/about/storelisting-promotional/ratings-reviews-installs/">Google
Play Developer Policy. The basic rule of thumb for reviews and ratings is
that they should come from genuine users, and developers should not attempt to
manipulate them in any form (e.g., fake, paid, incentivized).



We will continue making such enhancements to our systems that will further help
protect the integrity of Google Play, our developer community, and ultimately
our end users.

Android Developer Story: Le Monde increases subscriptions with Google Play Billing


Watch Edouard Andrieu, Director of Mobile, and Ahcene Amrouz, Product Manager
for Mobile, explain how La Matinale has a 6% higher subscription conversion on
Android than on other platforms thanks to tools like Google Play Billing.




Learn more how to href="https://support.google.com/googleplay/android-developer/answer/140504#intro">add
an introductory price to your subscription, and href="https://play.google.com/store/books/details?id=O7T3CwAAQBAJ&e">get the
News Publisher Playbook to stay up-to-date with more features and best
practices to help you find success for your news apps on Google Play.








How useful did you find this blogpost?








Thursday, November 24, 2016

Your next growth market: Realizing the potential of MENA


Posted by Mohammad El-Saadi, BD, Google Play



We know that many developers want to take advantage of growth opportunities in
new regions, but are held back by not knowing the most important areas to focus
on. That's why we wanted to share stories from our partners in the Middle East
and North Africa (MENA). It's a fast growing region for Google Play, and one
that already represents a sizable revenue opportunity. They've shared their
experiences, and some key things to focus on if you're thinking of launching in
the region.



Middle East and North Africa overview













MENA is a diverse region in terms of disposable income, access to connectivity,
and smartphone penetration. However, it is possible to broadly group MENA into
two types of market:



Growth markets


  • Examples: Saudi Arabia, United Arab Emirates (UAE), Kuwait and the rest of
    the Gulf Cooperation Council (GCC).
  • Very high smartphone penetration (on par with top western european markets),
  • Large disposable income
  • Robust growth in spend on mobile apps and games


Emerging markets


  • Examples: Morocco, Egypt and Iraq.
  • Large populations
  • Significant growth in smartphone (primarily Android) adoption.


Opportunities



Localization



If you want to be successful in MENA, localization is key. In Saudi Arabia 19 of
the top 20 grossing apps & games have their Google Play Store listing localized
and the majority of those have their actual app/game localized as well. By
localizing to Arabic, mobile app and game developers have found great success in
the region.



When Singapore-based href="https://play.google.com/store/apps/details?id=com.wego.android">Wego.com
localized to Arabic, they achieved over 200% YoY growth in
MENA
, grew their app rating from 3.5 to over 4.5 among Arab travelers
and increased Arab users' retention rates by 200%. Today, MENA represents over
65% of their users.



To do localization well, here are a few things to consider:


  • Localize your store listing into Arabic including your video, screenshots
    and text. If you are targeting specific countries within MENA consider using
    local dialects, otherwise use formal Arabic. Consider using Store Listing
    Experiments to optimize your listing for local audiences.
  • If applicable, flip your app/game UI to be right-to-left.
  • Beware of common issues when localizing to Arabic: Arabic letters appearing
    disjointed or showing up in reverse order and the ordering of words getting
    mixed up when sentences contain both Latin and Arabic words
  • Localize pricing by showing appropriate local currency and rounding. Note
    that different countries in MENA have different currencies and
    affordability/willingness to pay.
  • Plan around major local events such as the holy month of Ramadan, when after
    fasting from dawn to sunset, families and loved ones gather for meals, laughs
    and stories. We've found that during this month usage of apps and games
    increases significantly in MENA.
  • Provide local customer support
  • Be culturally sensitive in your communication and content - avoid
    stereotypes and keep in mind the relatively conservative nature of users in the
    region
  • Leverage the power of YouTube to reach your audiences in MENA. Saudi Arabia
    for instance is the second largest market for YouTube globally in terms of views
    per capita.


Refer to our href="https://developer.android.com/distribute/tools/localization-checklist.html?utm_campaign=android_discussion_mena_112116&utm_source=anddev&utm_medium=blog">Localization
Checklist for some best practices when localizing for any language.



Gaming



Gaming is a high growth and revenue opportunity in MENA. Most countries in the
region have a median age of 30 or lower, smartphone growth will continue to grow
at double digits, which makes gaming a key segment for users in the region.
Today's local top grossing charts and dominated by Midcore strategy games.
Interestingly, GCC countries have some of the highest Average Revenue Per Paying
User rates globally.



International titles, including Clash of Clans, Clash Royale, Mobile Strike and
Clash of Kings, have performed incredibly well in the region. In addition,
titles specifically targeting MENA have also seen tremendous success. href="https://play.google.com/store/apps/dev?id=7006382305291329295">Revenge of
the Sultans, by ONEMT, from China, has been the top grossing title across
several MENA countries for many months. Similarly, when IGG.com launched the
Arabic version of Castle Clash, they grew revenue from MENA by
58%
within 4 months.



As the market evolves, there is also a huge opportunity for other genres (such
as RPG, FPS, and sports) which are not present at scale in the region yet.



Google Play in MENA



We continue to invest in making sure that users are able to pay for their
favorite apps and games by launching locally relevant payment methods in MENA.
Today, we have carrier billing available with the major networks in Saudi
Arabia, UAE and Kuwait. We plan to expand coverage in more countries, including
Qatar and Bahrain, in the future.




We are also committed to increasing the quality and availability of Arabic apps
and games for MENA users, which is why we launched our href="https://play.google.com/store/recommended?sp=CAEwAFovCilwcm9tb3Rpb25fMzAwMjUxMl9BcHBzX01FTkFfTm93X0luX0FyYWJpYxAHGAM%3D:S:ANO1ljLJ7kY&c=apps">Now
in Arabic href="https://play.google.com/store/recommended?sp=CAEwAFovCilwcm9tb3Rpb25fMzAwMjUxMl9BcHBzX01FTkFfTm93X0luX0FyYWJpYxAHGAM%3D:S:ANO1ljLJ7kY&c=apps">cohref="https://play.google.com/store/recommended?sp=CAEwAFovCilwcm9tb3Rpb25fMzAwMjUxMl9BcHBzX01FTkFfTm93X0luX0FyYWJpYxAHGAM%3D:S:ANO1ljLJ7kY&c=apps">llhref="https://play.google.com/store/recommended?sp=CAEwAFovCilwcm9tb3Rpb25fMzAwMjUxMl9BcHBzX01FTkFfTm93X0luX0FyYWJpYxAHGAM%3D:S:ANO1ljLJ7kY&c=apps">echref="https://play.google.com/store/recommended?sp=CAEwAFovCilwcm9tb3Rpb25fMzAwMjUxMl9BcHBzX01FTkFfTm93X0luX0FyYWJpYxAHGAM%3D:S:ANO1ljLJ7kY&c=apps">tihref="https://play.google.com/store/recommended?sp=CAEwAFovCilwcm9tb3Rpb25fMzAwMjUxMl9BcHBzX01FTkFfTm93X0luX0FyYWJpYxAHGAM%3D:S:ANO1ljLJ7kY&c=apps">onhref="https://play.google.com/store/recommended?sp=CAEwAFovCilwcm9tb3Rpb25fMzAwMjUxMl9BcHBzX01FTkFfTm93X0luX0FyYWJpYxAHGAM%3D:S:ANO1ljLJ7kY&c=apps">
featuring apps and games that have recently localized to Arabic. This
collection will be regularly updated. If you're interested in being included, href="https://docs.google.com/a/google.com/forms/d/e/1FAIpQLSfuqUnnrY4a9XUsKlqrfow_7v9p1jMX_ae7DLnshk30pqOVZQ/viewform">submit
your localized app/game.


Wednesday, November 23, 2016

Final update to Android 7.1 Developer Preview



Posted by Dave Burke, VP of Engineering



Today we're rolling out an update to the Android 7.1 Developer Preview -- the
last before we release the final Android 7.1.1 platform to the ecosystem.
Android 7.1.1 includes the developer features already available on Pixel and
Pixel XL devices and adds optimizations and bug fixes on top of the base Android
7.1 platform. With Developer Preview 2, you can make sure your apps are ready
for Android 7.1.1 and the consumers that will soon be running it on their
devices.



As href="https://android-developers.blogspot.com/2016/10/android71-dev-preview-available.html">highlighted
in October, we're also expanding the range of devices that can receive this
Developer Preview update to Nexus 5X, Nexus 6P, Nexus 9, and Pixel C.



If you have a supported device that's enrolled in the href="http://www.android.com/beta">Android Beta Program, you'll receive an
update to Developer Preview 2 over the coming week. If you haven't enrolled your
device yet, just visit the site to
enroll your device and get the update.



In early December, we'll roll out Android 7.1.1 to the full lineup of supported
devices as well as Pixel and Pixel XL devices.


What's in this update?



Developer Preview 2 is a release candidate for Android 7.1.1 that you can use to
complete your app development and testing in preparation for the upcoming final
release. In includes near-final system behaviors and UI, along with the latest
bug fixes and optimizations across the system and Google apps.



It also includes the developer features and APIs (API level 25) already
introduced in Developer Preview 1. If you haven't explored the developer
features, you'll want to take a look at href="https://developer.android.com/preview/shortcuts.html?utm_campaign=android_launch_developerpreview_112216&utm_source=anddev&utm_medium=blog">app shortcuts,
href="https://developer.android.com/preview/api-overview.html?utm_campaign=android_launch_developerpreview_112216&utm_source=anddev&utm_medium=blog#circular-icons">round
icon resources, and href="https://developer.android.com/preview/image-keyboard.html?utm_campaign=android_launch_developerpreview_112216&utm_source=anddev&utm_medium=blog">image keyboard
support, among others -- you can see the href="https://developer.android.com/preview/api-overview.html?utm_campaign=android_launch_developerpreview_112216&utm_source=anddev&utm_medium=blog">full list of
developer features here.



With Developer Preview 2, we're also updating the SDK build and platform tools
in Android Studio, the Android 7.1.1 platform, and the API Level 25 emulator
system images. The latest version of the support library (href="https://developer.android.com/topic/libraries/support-library/revisions.html?utm_campaign=android_launch_developerpreview_112216&utm_source=anddev&utm_medium=blog">25.0.1)
is also available for you to href="https://developer.android.com/reference/android/support/v13/view/inputmethod/InputConnectionCompat.OnCommitContentListener.html?utm_campaign=android_launch_developerpreview_112216&utm_source=anddev&utm_medium=blog">add
image keyboard support, href="https://developer.android.com/reference/android/support/design/widget/BottomNavigationView.html?utm_campaign=android_launch_developerpreview_112216&utm_source=anddev&utm_medium=blog">bottom
navigation, and other features for devices running API Level 25 or earlier.



For details on API Level 25 check out the href="https://developer.android.com/sdk/api_diff/25/changes.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog">API
diffs and the updated href="https://developer.android.com/reference/packages.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog">API
reference on the href="https://developer.android.com/preview/index.html">developer preview
site.


Get your apps ready for Android 7.1



Now is the time to optimize your apps to look their best on Android 7.1.1. To
get started, update to href="https://developer.android.com/studio/index.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog">Android
Studio 2.2.2 and then download the API Level 25 platform, emulator system
images, and tools through the SDK Manager in Android Studio.



After installing the API Level 25 SDK, you can update your project's
compileSdkVersion to 25 to build and test against the new APIs. If you're doing
compatibility testing, we recommend updating your app's targetSdkVersion to 25
to test your app with compatibility behaviors disabled. For details on how to
set up your app with the API Level 25 SDK, see href="https://developer.android.com/preview/setup-sdk.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog">Set
up the Preview.



If you're adding app shortcuts or circular launcher icons to your app, you can
use Android Studio's built-in Image Asset Studio to quickly help you create
icons of different sizes that meet the href="https://material.google.com/style/icons.html#icons-product-icons">material
design guidelines. You can test your round icons on the Google APIs emulator
for API Level 25, which includes support for round icons and the new Google
Pixel Launcher.














Android Studio and the Google APIs emulator let you quickly create and test
your round icon assets.



If you're adding image keyboard support, you can use the Messenger and Google
Keyboard apps included in the preview system images for testing as they include
support for this new API.


Scale your tests using Firebase Test Lab for Android



To help scale your testing, make sure to take advantage of href="http://android-developers.blogspot.com/2016/11/android-dev-preview-in-firebase-test-lab.html">Firebase
Test Lab for Android and run your tests in the cloud at no charge during the
preview period on all virtual devices including the Developer Preview 2 (API
25). You can use the automated crawler (href="https://firebase.google.com/docs/test-lab/robo-ux-test">Robo Test) to
test your app without having to write any test scripts, or you can upload your
own instrumentation (e.g. Espresso) tests. You can upload your tests href="https://console.firebase.google.com/project/_/testlab/run">here.


Publish your apps to alpha, beta or production channels in Google
Play



After you've finished final testing, you can publish your updates compiled
against, and optionally targeting, API 25 to Google Play. You can publish to
your alpha, href="https://developer.android.com/distribute/engage/beta.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog">beta,
or even production channels in the Google Play Developer Console. In this way,
push your app updates to users whose devices are running Android 7.1, such as
Pixel and Android Beta devices.


Get Developer Preview 2 on Your Eligible Device



If you have an eligible device that's already enrolled in the href="https://android.com/beta">Android Beta Program, the device will get
the Developer Preview 2 update over the coming week. No action is needed on your
part. If you aren't yet enrolled in program, the easiest way to get started is
by visiting android.com/beta and opt-in
your eligible Android phone or tablet -- you'll soon receive this preview update
over-the-air. As always, you can also download and href="https://developer.android.com/preview/download.html?utm_campaign=android_launch_npreview_061516&utm_source=anddev&utm_medium=blog#flash">flash
this update manually.



As mentioned above, this Developer Preview update is available for Nexus 5X,
Nexus 6P, Nexus 9, and Pixel C devices.



We're expecting to launch the final release of the Android 7.1.1 in just a few
weeks Starting in December, we'll roll out Android 7.1.1 to the full lineup of
supported preview devices, as well as the recently launched Pixel and Pixel XL
devices. At that time, we'll also push the sources to AOSP, so our device
manufacturer partners can bring this new platform update to consumers on their
devices.



Meanwhile, we continue to welcome your feedback in the href="https://code.google.com/p/android/issues/list?can=1&q=label%3ADevPreview-N-7.1">Developer
Preview issue tracker, href="https://plus.google.com/communities/105153134372062985968/stream/755bb91d-c101-4e32-9277-1e560c4e26d2">N
Preview Developer community, or href="https://plus.google.com/communities/106765800802768335079">Android Beta
community as we work towards the final consumer release in December!

Tuesday, November 22, 2016

Calling European game developers, enter the Indie Games Contest by December 31

Originally posted on Google Developers blog


Posted by Matteo Vallone, Google Play Games Business Development



To build awareness of the awesome innovation and art that indie game developers
are bringing to users on Google Play, we have invested heavily over the past
year in programs like href="https://play.google.com/store/info/topic?id=topic_b000054_games_indie_corner_tp&e=-EnableAppDetailsPageRedesign">Indie
Corner, as well as events like the Google Play Indie Games Festivalshref="https://events.withgoogle.com/google-play-indie-game-festival/"> in
North
America
and href="https://events.withgoogle.com/google-play-indie-games-fes/">Korea.



As part of that sustained effort, we also want to celebrate the passion and
innovation of indie game developers with the introduction of the first-ever
href="https://events.withgoogle.com/indie-games-contest-europe/">Google Play
Indie Games Contest
in Europe. The contest will recognize the best
indie talent in several countries and offer prizes that will help you get your
game noticed by industry experts and gamers worldwide.




Prizes for the finalists and winners:


  • An open showcase held at the Saatchi Gallery in London
  • YouTube influencer campaigns worth up to 100,000 EUR
  • Premium placements on Google Play
  • Tickets to Google I/O 2017 and other top industry events
  • Promotions on our channels
  • Special prizes for the best Unity game
  • And href="https://events.withgoogle.com/indie-games-contest-europe/prizes/">more!


Entering the contest:



If you're based in Czech Republic, Denmark, Finland, France (coming soon),
Germany, Iceland, Israel, Netherlands, Norway, Poland (coming soon), Romania,
Spain, Sweden, Turkey, or UK (excl. Northern Ireland), have 15 or less full time
employees, and published a new game on Google Play after 1 January 2016, you may
now be eligible to href="https://events.withgoogle.com/indie-games-contest-europe/">enter the
contest. If you're planning on publishing a new game soon, you can also
enter by submitting a private beta. Check out all the details in the href="https://events.withgoogle.com/indie-games-contest-europe/terms/">terms and
conditions. Submissions close on 31 December 2016.




The process:



Up to 20 finalists will get to showcase their games at an open event at the
Saatchi Gallery in London on the 16th February 2017. At the event, the top 10
will be selected by the event attendees and the Google Play team. The top 10
will then get the opportunity to pitch to a jury of industry experts, from which
the final winner and runners up will be selected.



Even if someone is NOT entering the contest:



Even if you're not eligible to enter the contest, you can still register to
attend the final showcase event in London on 16 February 2017, check out some
great indie games, and have fun with various industry experts and indie
developers. We will also be hosting a workshop for all indie games developers
from across EMEA in the new Google office in Kings Cross the next day, so this
will be a packed week.



Get started:



href="https://events.withgoogle.com/indie-games-contest-europe/">Enter the Indie
Games Contest now
and visit the href="https://events.withgoogle.com/indie-games-contest-europe/">contest
site to find out more about the contest, the event, and the workshop.


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 href="https://source.android.com/source/build-numbers.html">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:


class="prettyprint">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 href="https://developer.android.com/about/dashboards/index.html?utm_campaign=firebase_discussion_apilevel_112116&utm_source=anddev&utm_medium=blog">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 href="https://developer.android.com/training/multiple-apks/api.html?utm_campaign=firebase_discussion_apilevel_112116&utm_source=anddev&utm_medium=blog">build
multiple APKs that support different minimum API levels, with different
versions of Google Play services. You can accomplish this with href="https://developer.android.com/studio/build/build-variants.html?utm_campaign=firebase_discussion_apilevel_112116&utm_source=anddev&utm_medium=blog">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:


class="prettyprint">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 href="https://developer.android.com/google/play/publishing/multiple-apks.html?utm_campaign=firebase_discussion_apilevel_112116&utm_source=anddev&utm_medium=blog">multiple
APK support in the Play Store.