Showing posts with label android developers. Show all posts
Showing posts with label android developers. Show all posts

12/20/17

Improving app security and performance on Google Play for years to come

Posted by Edward Cunningham, Product Manager, Android


[Edit: Updated post on Dec 21 to clarify that when the
64-bit requirement is introduced in August 2019, 32-bit support is not going
away. Apps that include a 32-bit library just need to have a 64-bit version
too.]



Google Play powers billions of app installs and updates annually. We
relentlessly focus on security and performance to ensure everyone has a positive
experience discovering and installing apps and games they love. Today we're
giving Android developers a heads-up about three changes designed to support
these goals, as well as explaining the reasons for each change, and how they
will help make Android devices even more secure and performant for the long
term.


  • In the second half of 2018, Play will require that new apps and app updates
    target a recent Android API level. This will be required for new apps in
    August 2018, and for updates to existing apps in
    November 2018. This is to ensure apps are built on the latest
    APIs optimized for security and performance.
  • In August 2019, Play will require that new apps and app
    updates with native libraries provide 64-bit versions in addition to their
    32-bit versions.
  • Additionally, in early 2018, Play will start adding a small amount of
    security metadata on top of each APK to further verify app authenticity. You do
    not need to take any action for this change.


We deeply appreciate our developer ecosystem, and so hope this long advance
notice is helpful in planning your app releases. We will continue to provide
reminders and share developer resources as key dates approach to help you
prepare.



Target API level requirement from late 2018



API behavior changes advance the security and privacy protections of Android –
helping developers secure their apps and protecting people from malware. Here
are a few such changes from recent platform versions:


  • Implicit intents for bindService() no longer supported (href="https://developer.android.com/about/versions/android-5.0-changes.html#BindService">Android
    5.0)
  • Runtime permissions (href="https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-runtime-permissions">Android
    6.0)
  • User-added CAs not trusted by default for secure connections (href="https://developer.android.com/about/versions/nougat/android-7.0.html#default_trusted_ca">Android
    7.0)
  • Apps can't access user accounts without explicit user approval (href="https://developer.android.com/about/versions/oreo/android-8.0-changes.html#aaad">Android
    8.0)


Many of these changes only apply to apps that explicitly declare their support
for new API behaviors, through the href="https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#target">targetSdkVersion
manifest attribute. For example, only apps with a targetSdkVersion of 23
(the API level of Android 6.0) or higher give the user full control over what
private data – such as contacts or location – the app can access via runtime
permissions. Similarly, recent releases include user experience improvements
that prevent apps from accidentally overusing resources like battery and memory;
href="https://developer.android.com/about/versions/oreo/background.html">background
execution limits is a good example of this type of improvement.



In order to provide users with the best Android experience possible, the Google
Play Console will require that apps target a recent API level:


  • August 2018: New apps required to target API level 26
    (Android 8.0) or higher.
  • November 2018: Updates to existing apps required to target
    API level 26 or higher.
  • 2019 onwards: Each year the targetSdkVersion requirement
    will advance. Within one year following each Android dessert release, new apps
    and app updates will need to target the corresponding API level or
    higher.


Existing apps that are not receiving updates are unaffected. Developers remain
free to use a href="https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#min">minSdkVersion
of their choice, so there is no change to your ability to build apps for older
Android versions. We encourage developers to provide backwards compatibility as
far as reasonably possible. Future Android versions will also restrict apps that
don't target a recent API level and adversely impact performance or security. We
want to proactively reduce fragmentation in the app ecosystem and ensure apps
are secure and performant while providing developers with a long window and
plenty of notice in order to plan ahead.



This year we released Android Oreo, the most secure and best performing version
of Android yet, and we introduced href="https://android-developers.googleblog.com/2017/05/here-comes-treble-modular-base-for.html">Project
Treble to help the latest releases reach devices faster. Get started
building apps that target Android 8.1 Oreo
today.



64-bit support requirement in 2019



Platform support for 64-bit architectures was introduced in Android 5.0. Today,
over 40% of Android devices coming online have 64-bit support, while still
maintaining 32-bit compatibility. For apps that use native libraries, 64-bit
code typically offers significantly better performance, with additional
registers and new instructions.



In anticipation of future Android devices that support 64-bit code only, the
Play Console will require that new apps and app updates with native libraries
provide 64-bit versions in addition to their 32-bit versions. This can be within
a single APK or as one of the multiple APKs published.



We are not removing 32-bit support. Google Play will continue to support 32-bit
apps and devices. Apps that do not include native code are unaffected.



This change will come into effect in August 2019. We're providing advance notice
today to allow plenty of time for developers who don't yet support 64-bit to
plan the transition. Stay tuned for a future post in which we'll take an
in-depth look at the performance benefits of 64-bit native libraries on Android,
and check out the href="https://developer.android.com/ndk/guides/arch.html">CPUs and
Architectures guide of the NDK for more info.



Security metadata in early 2018



Next year we'll begin adding a small amount of security metadata on top of each
APK to verify that it was officially distributed by Google Play. Often when you
buy a physical product, you'll find an official label or a badge which signifies
the product's authenticity. The metadata we're adding to APKs is like a Play
badge of authenticity for your Android app.



No action is needed by developers or users. We'll adjust Play's maximum APK size
to take into account the small metadata addition, which is inserted into the href="https://source.android.com/security/apksigning/v2">APK Signing Block
and does not alter the functionality of your app. In addition to enhancing the
integrity of Play's mobile app ecosystem, this metadata will enable new
distribution opportunities for developers in the future and help more people
keep their apps up to date.



Looking ahead



2017 has been a fantastic year for developers who have seen growth and success
on Google Play. We've been hard at work on features (including those announced
at href="https://android-developers.googleblog.com/2017/05/whats-new-in-google-play-at-io-2017.html">I/O
2017 and at href="https://android-developers.googleblog.com/2017/10/playtime-2017-find-success-on-google.html">Playtime)
to help you improve your app quality and business performance. With these
features and the upcoming updates, we hope to see the Android and Play ecosystem
continue to thrive in 2018 and beyond.



How useful did you find this blogpost?




Read more

10/19/17

Google Play's Indie Games Contest is back in Europe. Enter now

Posted by Adriana Puchianu, Developer Marketing Google Play

Following href="https://events.withgoogle.com/indie-games-contest-europe/">last year's success, today we're announcing the second annual href="https://events.withgoogle.com/indie-games-contest-2017/">Google Play Indie Games Contest in Europe, expanding to more countries and bigger prizes. The contest rewards your passion, creativity and innovation, and provides support to help bring your game to more people.

Prizes for the finalists and winners

  • A trip to London to showcase your game at the Saatchi Gallery

  • Paid digital marketing campaigns worth up to 100,000 EUR

  • Influencer campaigns worth up to 50,000 EUR

  • Premium placements on Google Play

  • Promotion on Android and Google Play marketing channels

  • Tickets to Google I/O 2018 and other top industry events

  • Latest Google hardware

  • Special prizes for the best Unity games




How to enter the contest

If you're based in one of the 28 eligible countries, have 30 or less full time employees, and published a new game on Google Play after 1 January 2017, you may now be eligible to href="https://events.withgoogle.com/indie-games-contest-2017/">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-2017/terms-conditions/#content">terms and conditions. Submissions close on 31 December 2017.

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

Come along to the final event

Anyone can register to attend the href="https://events.withgoogle.com/indie-games-contest-2017/final-event/#content">final showcase event at the Saatchi Gallery in London on 13 February 2018. Play some great indie games and have fun with indie developers,industry experts, and the Google Play team.

Enter now

Visit the contest site to href="https://events.withgoogle.com/indie-games-contest-2017/registrations/new/">find out more and enter the Indie Games Contest now.

How useful did you find this blogpost? href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=1%E2%98%85+%E2%80%93+Not+at+all&entry.2056663615&entry.646747778=vitalrank-07/17" style="color:gold;">★ href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=2%E2%98%85+%E2%80%93+Not+very&entry.2056663615&entry.646747778=vitalrank-07/17" style="color:gold;">★ href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=3%E2%98%85+%E2%80%93+Somewhat&entry.2056663615&entry.646747778=vitalrank-07/17" style="color:gold;">★ href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=4%E2%98%85+%E2%80%93+Very&entry.2056663615&entry.646747778=vitalrank-07/17" style="color:gold;">★ href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=5%E2%98%85+%E2%80%93+Extremely&entry.2056663615&entry.646747778=vitalrank-07/17" style="color:gold;">★
Read more

10/16/17

Fight global hunger with your favorite apps and games on Google Play

Editor's note: Cross-post from The Keyword. If you’re a developer interested in supporting a fundraising cause within your title or if you have a social impact app, let us know



Posted by Maxim Mai, Partner Development Manager, Google Play



We grow enough food to feed everyone on the planet. Yet 815 million people–one
in nine—still go to bed on an empty stomach every day.



On October 16, people from around the world come together for href="http://www.wfp.org/WorldFoodDay">World Food Day, with the goal to
promote awareness and action for those who suffer from hunger and to advocate
for food security and nutritious diets for all.



To raise funds and awareness for this cause, Google Play has joined forces with
12 popular apps and games to create the href="https://play.google.com/store/apps/topic?id=campaign_editorial_worldfoodday17_ep&e=-EnableAppDetailsPageRedesign">Apps
and Games Against Hunger collection available in North and Latin America.



From now until October 21, 100% of revenue from designated in-app purchases made
in Google Play's Apps and Games Against Hunger collection will be donated to
World Food Program USA.



World Food Program USA supports the mission of the href="http://www1.wfp.org/">UN World Food Programme, the leading agency
fighting hunger, by mobilizing individuals, lawmakers and businesses in the U.S.
to advance the global movement to end hunger, feeding families in need around
the world.





These are the 12 global leading apps and games taking part in this special
fundraising collection on Google Play:



href="https://play.google.com/store/apps/details?id=org.sharethemeal.app">ShareTheMeal–Help
children



href="https://play.google.com/store/apps/details?id=com.brainbow.peak.app">Peak–Brain
Games & Training



href="https://play.google.com/store/apps/details?id=es.socialpoint.DragonCity&e=-EnableAppDetailsPageRedesign">Dragon
City



href="https://play.google.com/store/apps/details?id=com.nordcurrent.canteenhd&e=-EnableAppDetailsPageRedesign">Cooking
Fever



href="https://play.google.com/store/apps/details?id=com.kongregate.mobile.throwdown.google&e=-EnableAppDetailsPageRedesign">Animation
Throwdown: TQFC



href="https://play.google.com/store/apps/details?id=com.n3twork.legendary&e=-EnableAppDetailsPageRedesign">Legendary:
Game of Heroes



href="https://play.google.com/store/apps/details?id=com.melesta.coffeeshop&e=-EnableAppDetailsPageRedesign">My
Cafe: Recipes & Stories - World Cooking Game



href="https://play.google.com/store/apps/details?id=com.kabam.bigrobot&e=-EnableAppDetailsPageRedesign">TRANSFORMERS:
Forged to Fight



href="https://play.google.com/store/apps/details?id=com.yodo1.rodeo.safari&e=-EnableAppDetailsPageRedesign">Rodeo
Stampede: Sky Zoo Safari



href="https://play.google.com/store/apps/details?id=com.ludia.jurassicworld&e=-EnableAppDetailsPageRedesign">Jurassic
World™: The Game



href="https://play.google.com/store/apps/details?id=com.kabam.marvelbattle&e=-EnableAppDetailsPageRedesign">MARVEL
Contest of Champions



href="https://play.google.com/store/apps/details?id=com.protostar.sling&e=-EnableAppDetailsPageRedesign">Sling
Kong



Thank you to all our users and developers for supporting World Food Day.


Read more

10/3/17

Android Excellence: congratulations to the new apps and games for Fall 2017

Posted by Kacey Fahey, Developer Marketing, Google Play


Android Excellence recognizes some of the highest quality apps and games on
Google Play. With a strong focus on great design, an engaging user experience,
and strong app performance, this set of href="https://play.google.com/store/apps/topic?id=campaign_editorial_3002b4f_android_excellence_apps&hl=en">apps
and href="https://play.google.com/store/apps/topic?id=campaign_editorial_3002b50_android_excellence_games&hl=en">games
show the diversity of content on Google Play. Whether you're trying to better
manage personal finances with href="https://play.google.com/store/apps/details?id=com.bookmark.money">Money
Lover or want to experience the thrill of stunt-racing with stunning
graphics and real-time challenges in href="https://play.google.com/store/apps/details?id=com.gameloft.android.ANMP.GloftA8HM">Asphalt
8, there's something for everyone to enjoy.








One new awardee is href="https://play.google.com/store/apps/details?id=ch.publisheria.bring&e=-EnableAppDetailsPageRedesign">Bring!,
a simple-to-use app that helps manage your grocery lists. Use the existing
catalog of items or add your own product photos, then share your lists and
message in-app to let others know when it's time to shop. If you're looking for
a new game to play, href="https://play.google.com/store/apps/details?id=com.auralab.karmaincarnation1">Karma.
Incarnation 1. is a "wonderfully weird, puzzle-filled indie adventure game."
With beautiful hand-drawn art, you guide the story's hero through moments of
humor and challenge to be reunited with his love.



Congratulations to the new Android Excellence apps and games for Fall 2017.




























































New Android Excellence
apps

New Android Excellence
games

href="https://play.google.com/store/apps/details?id=com.agoda.mobile.consumer&e=-EnableAppDetailsPageRedesign">Agoda
href="https://play.google.com/store/apps/details?id=com.gameloft.android.ANMP.GloftA8HM&e=-EnableAppDetailsPageRedesign">Asphalt
8

href="https://play.google.com/store/apps/details?id=com.malangstudio.alarmmon&e=-EnableAppDetailsPageRedesign">AlarmMon
href="https://play.google.com/store/apps/details?id=com.king.bubblewitch3&e=-EnableAppDetailsPageRedesign">Bubble
Witch 3 Saga

href="https://play.google.com/store/apps/details?id=ch.publisheria.bring&e=-EnableAppDetailsPageRedesign">Bring!
href="https://play.google.com/store/apps/details?id=com.outplayentertainment.castlecreepstd&e=-EnableAppDetailsPageRedesign">Castle
Creeps

href="https://play.google.com/store/apps/details?id=fm.castbox.audiobook.radio.podcast">CastBox
href="https://play.google.com/store/apps/details?id=com.appxplore.crabwar&e=-EnableAppDetailsPageRedesign">Crab
War

href="https://play.google.com/store/apps/details?id=com.easilydo.mail&e=-EnableAppDetailsPageRedesign">Email
by Edison

href="https://play.google.com/store/apps/details?id=com.notdoppler.crashofcars&e=-EnableAppDetailsPageRedesign">Crash
of Cars

href="https://play.google.com/store/apps/details?id=com.glow.android.eve&e=-EnableAppDetailsPageRedesign">Eve
href="https://play.google.com/store/apps/details?id=com.halfbrick.dantheman&e=-EnableAppDetailsPageRedesign">Dan
the Man

href="https://play.google.com/store/apps/details?id=com.everimaging.photoeffectstudio&e=-EnableAppDetailsPageRedesign">Fotor
href="https://play.google.com/store/apps/details?id=com.naturalmotion.dawnoftitans&e=-EnableAppDetailsPageRedesign">Dawn
of Titans

href="https://play.google.com/store/apps/details?id=com.mint&e=-EnableAppDetailsPageRedesign">Mint
href="https://play.google.com/store/apps/details?id=com.altitude.dreamdefense&e=-EnableAppDetailsPageRedesign">Dream
Defense

href="https://play.google.com/store/apps/details?id=com.bookmark.money&e=-EnableAppDetailsPageRedesign">Money
Lover

href="https://play.google.com/store/apps/details?id=com.ironhidegames.android.ironmarines&e=-EnableAppDetailsPageRedesign">Iron
Marines

href="https://play.google.com/store/apps/details?id=de.motain.iliga&e=-EnableAppDetailsPageRedesign">Onefootball
href="https://play.google.com/store/apps/details?id=com.auralab.karmaincarnation1">Karma.
Incarnation 1.

href="https://play.google.com/store/apps/details?id=com.robinhood.android&e=-EnableAppDetailsPageRedesign">Robinhood
href="https://play.google.com/store/apps/details?id=com.kurechii.postknight&e=-EnableAppDetailsPageRedesign">Postknight
href="https://play.google.com/store/apps/details?id=com.viki.android&e=-EnableAppDetailsPageRedesign">Viki
href="https://play.google.com/store/apps/details?id=pl.idreams.SkyForceReloaded2016&e=-EnableAppDetailsPageRedesign">Sky
Force Reloaded


href="https://play.google.com/store/apps/details?id=com.redantz.game.zombie3&e=-EnableAppDetailsPageRedesign">Zombie
Age 3



Explore other great apps and games in the Editors’ Choice section on Google Play.




How useful did you find this blogpost?



href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=1%E2%98%85+%E2%80%93+Not+at+all&entry.2056663615&entry.646747778=AndroidExcellencerefresh-10/27" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=2%E2%98%85+%E2%80%93+Not+very&entry.2056663615&entry.646747778=AndroidExcellencerefresh-10/27" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=3%E2%98%85+%E2%80%93+Somewhat&entry.2056663615&entry.646747778=AndroidExcellencerefresh-10/27" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=4%E2%98%85+%E2%80%93+Very&entry.2056663615&entry.646747778=AndroidExcellencerefresh-10/27" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=5%E2%98%85+%E2%80%93+Extremely&entry.2056663615&entry.646747778=AndroidExcellencerefresh-10/27" style="color:gold;" >★








Read more

9/26/17

Announcing the Winners from the Indie Games Festival in San Francisco

Posted by Kacey Fahey, Developer Marketing, Google Play


At the Google Play Indie Games Festival over the weekend, we welcomed hundreds
of attendees to try out and enjoy a diverse range of amazing games from the
indie community. The competition was very tough, and in the end, we recognized
three winners:



  • href="https://play.google.com/store/apps/details?id=com.noodlecake.flippinglegend">Flipping
    Legend by Hiding Spot
  • href="https://play.google.com/store/apps/details?id=com.bluewizard.slayawaycamp&hl=en">Slayaway
    Camp by Blue Wizard Digital
  • Tiny Bubbles by Pine Street Codeworks (coming soon!)







We'd also like to congratulate the rest of the Top 10 developers and all of the
finalists who shared their games to make for such a fun and exciting event.
Check out the great href="https://play.google.com/store/apps/collection/promotion_30023d4_games_indie_games_festival_2017">collection
of games on Google Play.



Here are the other seven games that rounded out the Top 10:



  • href="https://play.google.com/store/apps/details?id=com.robotogames.ageofrivals">Age
    of Rivals by Roboto Games
  • href="https://play.google.com/store/apps/details?id=io.v2g.beastbrawlers">Beast
    Brawlers - PvP Arena by V2 Games Inc.
  • href="https://play.google.com/store/apps/details?id=com.CovensMapTest.RainCrow&e=-EnableAppDetailsPageRedesign">Covens
    by Raincrow Studios, LLC
  • href="https://play.google.com/store/apps/details?id=com.headupgames.crashycars">Crashy
    Cars by pixelbizarre
  • href="https://play.google.com/store/apps/details?id=com.HappySquareStudio.JigsawStory1&hl=en">Jigsaw
    Story by Happy Square Studio Inc
  • href="https://play.google.com/store/apps/details?id=com.gorillabeangames.loterialatinbingo">Loteria
    Latin Bingo by Gorilla Bean Games
  • href="https://play.google.com/store/apps/details?id=com.rac7.SplitterCritters&hl=en">Splitter
    Critters by RAC7


The day started with time for attendees to play the 20 finalists' games. They
experienced different genres and styles of gameplay and were encouraged to talk
with the developers about their work and what it's like to make mobile games for
a living. The event brought together kids, adults, gaming enthusiasts and
non-gamers, and was a great representation of the fun experiences mobile games
create.



In the afternoon, attendees voted for their favorites and the Top 10 moved on to
the presentation round. These developers had three minutes to deliver their best
pitch to the panel of judges. After the judges voted, results were in and the
three winners and seven runners up were named.



If you like indie games and want to keep up with our favorite indie picks, visit
the Indie Corner on Google Play.



How useful did you find this blogpost?



href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=1%E2%98%85+%E2%80%93+Not+at+all&entry.2056663615&entry.646747778=SFindiefest-07/17" style=color:gold;>★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=2%E2%98%85+%E2%80%93+Not+very&entry.2056663615&entry.646747778=SFindiefest-07/17" style=color:gold;>★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=3%E2%98%85+%E2%80%93+Somewhat&entry.2056663615&entry.646747778=SFindiefest-07/17" style=color:gold;>★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=4%E2%98%85+%E2%80%93+Very&entry.2056663615&entry.646747778=SFindiefest-07/17" style=color:gold;>★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=5%E2%98%85+%E2%80%93+Extremely&entry.2056663615&entry.646747778=SFindiefest-07/17" style=color:gold;>★






Read more

9/9/17

Helping indie developers get discovered on Google Play

Posted by Adriana Puchianu, Google Play Developer Marketing


There are increasing growth opportunities for indie game developers, but being
one can still feel daunting in today's crowded gaming industry. We've been
working hard to help indie developers find an audience and to recognize them for
their creativity and innovation. We launched the href="https://play.google.com/store/info/topic?id=topic_b000054_games_indie_corner_tp&hl=en_GB&e=-EnableAppDetailsPageRedesign">Indie
Corner as a destination for exciting new games along with longstanding indie
masterpieces. Since launch, more than 380 games have been featured. Earlier this
year, we launched href="https://play.google.com/store/apps/collection/promotion_30028e5_android_excellence_collection_games">Android
Excellence which showcases apps and games that deliver incredible user
experiences on Android, while providing another opportunity to be discovered on
Google Play.



We've also held several indie games contests across the globe, giving indies the
chance to showcase their games and find new audiences. In April, we selected the
winner of the second Indie Games Festival in South Korea and we recently
announced the top 20 finalists of this year's San Francisco event. href="https://goo.gl/5y63JF">Come and see the finalists in person on
September 23rd, it's free to attend and open to the public. Soon we'll be
bringing back the second Indie Games Contest in Europe too.



Watch François Alliot, the developer of href="https://play.google.com/store/apps/details?id=com.devolver.reigns">Reigns,
an indie game showcased in href="https://play.google.com/store/apps/collection/promotion_30028e5_android_excellence_collection_games">Android
Excellence and the winner of last year's href="https://events.withgoogle.com/indie-games-contest-europe/">Indie Games
Contest in Europe, share how he built a successful games business in the
video below.






And, finally, check out our recent href="https://medium.com/googleplaydev/a-q-a-session-with-indie-game-developer-spry-fox-23cac57c29da">Q&A
with Spry Fox, makers of the popular game Alphabear, to learn more about what it’s like to be an indie game developer.



How useful did you find this blogpost?
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=1%E2%98%85+%E2%80%93+Not+at+all&entry.2056663615&entry.646747778=reigns-09/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=2%E2%98%85+%E2%80%93+Not+very&entry.2056663615&entry.646747778=reigns-09/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=3%E2%98%85+%E2%80%93+Somewhat&entry.2056663615&entry.646747778=reigns-09/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=4%E2%98%85+%E2%80%93+Very&entry.2056663615&entry.646747778=reigns-09/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=5%E2%98%85+%E2%80%93+Extremely&entry.2056663615&entry.646747778=reigns-09/17" style="color:gold;" >★





Read more

9/7/17

Optimize your Android apps for Chromebooks

Posted by Cheryl Lindo Jones, Mobile App Solutions Consultant, Google Play


As more Chromebooks are enabled with Google Play, now is a great time to href="https://android-developers.googleblog.com/2016/05/bring-your-android-app-to-chromebooks.html">optimize
your Android app for Chromebooks to reach a larger audience. The changes
made to optimize for large screens will benefit mobile devices that are able to
project to desktop monitors, like the Samsung Galaxy S8. The href="https://www.chromium.org/chromium-os/chrome-os-systems-supporting-android-apps">current
list of Chromebooks that can access the Play Store continues to grow.



There are several differences to consider when optimizing your Android app or
game for Chromebooks:


  • Larger screen sizes and higher resolutions
  • Multi-window and resizable-window support
  • Different hardware input methods: keyboard, trackpad, mouse, stylus
  • Convertible Chromebooks enabling use in laptop and tablet modes


Chromebook users can change screen resolutions, switch between various input
methods, and convert from laptop to tablet mode at any time, so Android apps and
games should handle all of these situations gracefully.


Discoverability on Google Play



If Android apps or games require hardware not available in a Chromebook (like
cellular capability or GPS), those titles will not show up on Google Play for
Chromebook users, similar to Play on Android tablets. Developers should maximize
discoverability on Google Play by doing the following:



Set requested permissions and uses-features in the manifest to href="https://developer.android.com/topic/arc/manifest.html">ensure
compatibility with Chromebooks. Not all Chromebooks will have touchscreens,
GPS, or rear-facing cameras which are typical for smartphones. Update the
manifest so that sensors and hardware not commonly found on Chromebooks are not
required. Example:



<uses-feature android:name="android.hardware.touchscreen"
android:required="false" />


Additionally, to educate Chromebook users on any Chrome OS-specific features
that have been implemented, for example supporting additional input methods like
keyboard, trackpad, and stylus, or supporting large, high-resolution screens
with a responsive layout, developers should update the app description on Google
Play. It would also be useful to provide screenshots showcasing how well the app
or game works on the larger screen, or how the title works on a Chromebook
specifically.


Optimizing functionality



While most apps and games already work fairly well on Chromebooks without any
changes, it is still a good idea to explore how to provide an optimized,
consistent experience for Chromebook users.


Large screens and resizable windows


Chromebook users will be more inclined to multitask, opening multiple apps
and/or games at once, taking advantage of the screen size, and operating in a
manner consistent with a desktop or laptop form factor. Unlike on Android
phones, they can also change the screen resolution to fit more onto the screen,
or enlarge the fonts, UI, and graphics, if needed. Multi-window support and
fully resizable window support are key for this usage. Graphics, fonts, layout,
and touch targets should be adjusted accordingly as the screen resolution and
orientation changes.



It is also important to note that just because an app or game window is not in
focus, it does not mean that it is not visible. For example, if a video app is
open in an inactive window, it should continue to play content "in the
background" because it could still be visible along side another app window. To
fully support href="https://developer.android.com/guide/topics/ui/multi-window.html#lifecycle">multi-window
usage in this case, pause video in onStop(), and resume in onStart().



Targeting Android N (API level 24 and higher) will signal to the Chrome OS
window manager that compatibility restrictions should not be used. This allows
for more flexibility and control on the developer's part for supporting window
resizing.








The system will handle href="https://developer.android.com/topic/arc/window-management.html">window
management best if Android N is targeted, but for pre-N API support, windows
can be toggled between either a default size selected at app launch, or a
full-screen mode with either the window bar visible, or with window UI hidden in
immersive full-screen mode.



When handling different windowing modes, it is important to know that the window
area for an app or game will be offset by the presence or absence of the window
control bar. The app should not assume that the activity will always be at (0,0)
in the window. Adjust the layout and touch targets accordingly. It is somewhat
common to see apps or games become unresponsive after a window resize or
orientation change because it did not gracefully handle the presence of the
window control bar, or the higher resolution settings of a Chromebook screen.


Orientation support


Because of the laptop form-factor, Chromebook users expect landscape to be the
default orientation for apps on Chromebooks. However, Android apps often assume
that portrait is the default orientation to support, due to the typical way
users interact with their smartphones. To offer flexibility to users, it is
highly recommended to support both portrait and landscape orientations. Some
Chromebooks are convertible, so users can change between laptop and tablet modes
at will, switching between portrait and landscape orientation, according to what
feels comfortable for a given use case.



Most importantly, if possible, do not require a restart if the orientation or
window size changes. If a user is in the process of filling out a form, creating
or editing some content, or in the middle of a level in a game and loses
progress because of an window change -- intentional or not -- it would be a poor
user experience.



Developers can monitor window configuration changes using
onConfigurationChanged() and dynamically handle those changes by adding this
line to the activity's manifest:



android:configChanges="screenSize|smallestScreenSize|orientation|screenLayout".


If it is absolutely necessary to require a restart upon changes to the window,
at least restore state by using the onSaveInstanceState() method so that work or
state is not lost.



Additionally, it is important to be consistent with the app's orientation as the
user is navigating through activities. Currently, the system forces Android apps
to follow the orientation of the root activity to help maintain consistency.
However, this may result in a situation where, perhaps an app starts out in
landscape orientation, and a login screen normally laid out for portrait
orientation pops up, and now does not look optimized due to an unresponsive
layout. Also, it is still possible to have a case where a springboard activity
starts out in an orientation that is different from the primary orientation of
the app. Please keep these possible scenarios in mind when designing the layout
for activities.



Finally, developers should be aware of the differences in handling cameras and
orientation on Chromebooks. Obviously, Android phones have front-facing and
rear-facing cameras that are situated at the top of a portrait-oriented screen.
The front-facing cameras on Chromebooks are situated at the top of a
landscape-oriented screen. Many Chromebooks do not have rear-facing cameras. If
an app requires a camera, it would be best to use android.hardware.camera.any to
access the front-facing camera, if a rear-facing one is not available. Again,
developers should target Android N and, if possible allow the app to be
resizable so that the system can take care of properly orienting the camera
previews.


Supporting multiple input methods


Chromebook users are used to interacting with webpages and apps using a keyboard
and trackpad. Effectively supporting these two input methods for an Android app
means:


  • Supporting hotkeys for commands that a desktop app user may be familiar with
  • Using arrow and tab keys and a trackpad to navigate an activity
  • Allowing hover and opening context menus
  • Supporting other trackpad gestures to enhance productivity in desktop/laptop
    mode


Something as simple as hitting return to send text in a messaging app, or
allowing a user to navigate fields by hitting the tab key will make an app feel
more efficient and cohesive on a Chromebook.



While there is a href="https://developer.android.com/topic/arc/input-compatibility.html#compatibility_mode">compatibility
mode for Chrome OS to emulate touchscreen scrolling and other touch events,
it would be best to optimize an Android app by declaring



<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />


in the manifest to disable compatibility mode in order to further define custom
support for keyboard and trackpad.



Similarly, the system can guess at giving focus to the right views when
navigating via the tab or arrow keys on a keyboard. But for best performance,
specify how keyboard navigation should be href="https://developer.android.com/training/keyboard-input/navigation.html">handled
in the activity manifest using the android:nextFocusForward attribute for
tab navigation, and android:nextFocusUp, android:nextFocusDown,
android:nextFocusLeft, android:nextFocusRight attributes for arrow key
navigation.



On a related note, some Chromebooks do not have touchscreens, therefore
well-optimized Android apps on Chrome should not assume the user can perform
typical swipe and multi-touch tap gestures to navigate through an app or game.
If primary functionality cannot be performed using only a keyboard or trackpad,
the user experience will be severely impacted on non-touchscreen Chromebooks.
Try to "translate" existing touchscreen tap and swipe gestures into something
that can be easily done on a trackpad or using the keyboard.



Newer Chromebooks are gaining stylus support, allowing for richer interactions
for sketchbook and note-taking apps, photo editors, games, and more. Developers
are encouraged to use href="https://developer.android.com/topic/arc/input-compatibility.html#stylus">available
APIs to support pressure-sensitivity, tilt, and eraser inputs. To enable
users to comfortably rest their hands on the screen while writing, drawing, or
playing games with the stylus, support palm rejection. The system will attempt
to ignore input from a user's resting palm, but in case such erroneous touch
events are registered, Android apps should gracefully handle ACTION_CANCEL
events to erase the erroneous inputs.



By supporting all of these additional input methods, users will be able to take
full advantage of the laptop mode for Chromebooks to work more efficiently, or
to be more creative.



Learn more



While a lot was covered in this article, we have additional resources for you to
learn more about optimizing their apps and games for Chromebooks. Read our Medium post
with tips to get your app running great on Chromebooks and watch our
session at Google I/O 2017, href="https://www.youtube.com/watch?v=v6QH89i4YCI">Android Apps for Chromebooks
and Large Screen Devices. There is also training material on the Android
developers website for href="https://developer.android.com/topic/arc/index.html">building apps for
Chrome OS. If you have any questions, reach out to the href="https://plus.google.com/+AndroidDevelopers">Android developer
community and post with the hashtag #AndroidAppsOnChromeOS.



How useful did you find this blogpost?



href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=1%E2%98%85+%E2%80%93+Not+at+all&entry.2056663615&entry.646747778=ChromeOS-09/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=2%E2%98%85+%E2%80%93+Not+very&entry.2056663615&entry.646747778=ChromeOS-09/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=3%E2%98%85+%E2%80%93+Somewhat&entry.2056663615&entry.646747778=ChromeOS-09/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=4%E2%98%85+%E2%80%93+Very&entry.2056663615&entry.646747778=ChromeOS-09/17" style="color:gold;" >★
href="https://docs.google.com/forms/d/e/1FAIpQLScLTlzFd_aV-3rAdBqO1QxwCsuAcDCIM6fJFXyNcyf7zElVXg/viewform?usp=pp_url&entry.753333049=5%E2%98%85+%E2%80%93+Extremely&entry.2056663615&entry.646747778=ChromeOS-09/17" style="color:gold;" >★




Read more
loading...