Tuesday, November 18, 2014

Begin developing with Android Auto

Posted by Daniel Holle, Product Manager



At Google I/O back in June, we provided a preview of Android Auto. Today, we�re excited to announce the availability of our first APIs for building Auto-enabled apps for audio and messaging. Android apps can now be extended to the car in a way that is optimized for the driving experience.



For users, this means they simply connect their Android handheld to a compatible vehicle and begin utilizing a car-optimized Android experience that works with the car�s head unit display, steering wheel buttons, and more. For developers, the APIs and UX guidelines make it easy to provide a simple way for users to get the information they need while on the road. As an added bonus, the Android Auto APIs let developers easily extend their existing apps targeting Android 5.0 (API level 21) or higher to work in the car without having to worry about vehicle-specific hardware differences. This gives developers wide reach across manufacturers, model and regions, by just developing with one set of APIs and UX standards.





There are two use cases that Android Auto supports today:



  • Audio apps that expose content for users to browse and allow audio playback from the car, such as music, podcasts, news, etc.

  • Messaging apps that receive incoming notifications, read messages aloud, and send replies via voice from the car.


To help you get started with Android Auto, check out our Getting Started guide. It�s important to note that while the APIs are available today, apps extended with Android Auto cannot be published quite yet. More app categories will be supported in the future, providing more opportunities for developers and drivers of Android Auto. We encourage you to join the Android Auto Developers Google+ community to stay up-to-date on the latest news and timelines.



We�ve already started working with partners to develop experiences for Android Auto: iHeartRadio, Joyride, Kik, MLB.com, NPR, Pandora, PocketCasts, Songza, SoundCloud, Spotify, Stitcher, TextMe, textPlus, TuneIn, Umano, and WhatsApp. If you happen to be in the Los Angeles area, stop by the LA Auto Show through November 30 and visit us in the Hyundai booth to take Android Auto and an app or two for a test drive.



Keeping Your Saved Games in the Cloud

Posted by Todd Kerpelman, Developer Advocate



Saved Games Are the Future!



I think most of us have at least one or two games we play obsessively. Me? I'm a Sky Force 2014 guy. But maybe you're into matching colorful objects, battling monsters, or helping avians with their rage management issues. Either way, there's probably some game where you've spent hours upon hours upgrading your squad, reaching higher and higher levels, or unlocking every piece of bonus content in the game.



Now imagine losing all of that progress when you decide to get a new phone. Or reinstall your game. Yikes!



That's why, when Google Play Games launched, one of the very first features we included was the ability for users to save their game to the cloud using a service called the AppState API. For developers who didn't need an entire server-based infrastructure to run their game, but didn't want to lose players when they upgraded their devices, this feature was a real life-saver.



But many developers wanted even more. With AppState, you were limited to 4 slots of 256k of data each, and for some games, this just wasn't enough. So this past year at Google I/O, we launched an entirely new Saved Games feature, powered by Google Drive. This gave you huge amounts of space (up to 3MB per saved game with unlimited save slots), the ability to save a screenshot and metadata with your saved games, and some nice features like showing your player's saved games directly in the Google Play app.



...But AppState is Yesterday's News



Since the introduction of Saved Games, we've seen enough titles happily using the service and heard enough positive feedback from developers that we're convinced that Saved Games is the better offering and the way to go in the future. With that in mind, we've decided to start deprecating the old cloud save system using AppState and are encouraging everybody who's still using it to switch over to the new Saved Games feature (referred to in our libraries as "Snapshots").



What does this mean for you as a game developer?



If you haven't yet added Saved Games to your game, now would be the perfect time! The holidays are coming up and your players are going to start getting new devices over the next couple of months. Wouldn't it be great if they could take your game's progress with them? Unless, I guess, "not retaining users" is part of your business plan.



If you're already using the new Saved Games / Snapshot system, put your feet up and relax. None of these changes affect you. Okay, now put your feet down, and get back to work. You probably have a seasonal update to work on, don't you?



If you're using the old AppState system, you should start migrating your player's data over to the new Saved Games service. Luckily, it's easy to include both systems in the same game, so you should be able to migrate your users' data with their ever knowing. The process would probably work a little something like this:


  • Enable the new Saved Game service for your game by
    • Adding the Drive.SCOPE_APPFOLDER scope to your list of scopes in your GoogleApiClient.

    • Turning on Saved Games for your game in the Google Play Developer Console.

  • Next, when your app tries to load the user's saved game
    • First see if any saved game exists using the new Saved Games service. If there is, go ahead and use it.

    • Otherwise, grab their saved game from the AppState service.

  • When you save the user's game back to the cloud, save it using the new Saved Games service.

  • And that should be it! The next time your user loads up your game, it will find their saved data in the new Saved Games service, and they'll be all set.

  • We've built a sample app that demonstrates how to perform these steps in your application, so we encourage you to check it out.


In a few months, we will be modifying the old AppState service to be read-only. You'll still be able to read your user's old cloud save games and transfer them to the new Saved Games service, but you'll no longer be able to save games using the old service. We are evaluating early Q2 of 2015 to make this change, which should give you enough time to push your "start using Saved Games" update to the world.



If you want to find out more about Saved Games and how they work, feel free to review our documentation, our sample applications, or our Game On! videos. And we look forward to many more hours of gaming, no matter how many times we switch devices.



Monday, November 17, 2014

Google Play services 6.5

Posted by Ian Lake, Developer Advocate

To offer more seamless integration of Google products within your app, we�re excited to start the rollout of the latest version of Google Play services.



Google Play services 6.5 includes new features in Google Maps, Google Drive and Google Wallet as well as the recently launched Google Fit API. We are also providing developers with more granular control over which Google Play services APIs your app depends on to help you maintain a lean app.



Google Maps


We�re making it easier to get directions to places from your app! The Google Maps Android API now offers a map toolbar to let users open Google Maps and immediately get directions and turn by turn navigation to the selected marker. This map toolbar will show by default when you compile against Google Play services 6.5.





In addition, there is also a new �lite mode� map option, ideal for situations where you want to provide a number of smaller maps, or a map that is so small that meaningful interaction is impractical, such as a thumbnail in a list. A lite mode map is a bitmap image of a map at a specified location and zoom level.



In lite mode, markers and shapes are drawn client-side on top of the static image, so you still have full control over them. Lite mode supports all of the map types, the My Location layer, and a subset of the functionality of a fully-interactive map. Users can tap on the map to launch Google Maps when they need more details.



The Google Maps Android API also exposes a new getMapAsync(OnMapReadyCallback) method to MapFragment and MapView which will notify you exactly when the map is ready. This serves as a replacement for the now deprecated getMap() method.



We�re also exposing the Google Maps for Android app intents available to your apps including displaying the map, searching, starting turn by turn navigation, and opening Street View so you can build upon the familiar and powerful maps already available on the device.



Drive


You can now add both public and application private custom file properties to a Drive file which can be used to build very efficient search queries and allow apps to save information which is guaranteed to persist across editing by other apps.



We�ve also made it even easier to make syncing your files to Drive both user and battery friendly with the ability to control when files are uploaded by network type or charging status and cancel pending uploads.



Google Wallet


In addition to the existing �Buy with Google� button available to quickly purchase goods & services using Google Wallet, this release adds a �Donate with Google� button for providing the same ease of use in collecting donations.



Google Fit



The Google Fit SDK was recently officially released as part of Google Play services and can be used to super-charge your fitness apps with a simple API for working with sensors, recording activity data, and reading the user�s aggregated fitness data.



In this release, we�ve made it easier for developers to add activity segments (predefined time periods of running, walking, cycling, etc) when inserting sessions, making it easy to support pauses or multiple activity type workouts. We�ll also be adding additional samples to help kick-start your Google Fit integration.



Granular Dependency Management



As we�ve continued to add more APIs across the wide range of Google services, it can be hard to maintain a lean app, particularly if you're only using a portion of the available APIs. Now with Google Play services 6.5, you�ll be able to depend only on a minimal common library and the exact APIs your app needs. This makes it very lightweight to get started with Google Play services.



SDK Coming Soon!


We�ll be rolling out Google Play services 6.5 over the next few days, and we�ll update this blog post, publish the documentation, and make the SDK available once the rollout completes.



To learn more about Google Play services and the APIs available to you through it, visit the Google Play Services section on the Android Developer site.



Wednesday, November 12, 2014

EyeEm Improves User Engagement through Android Design

By Leticia Lago, Google Play team


EyeEm is a global community for photographers that goes beyond sharing photos with friends: photographers can share tips, take part in missions, and sell their photos. To win more customers, a design that best showcases photos from the community is very important for this Berlin-based company.



With the idea of bringing a beautiful, simple experience to their fast growing base of Android users, the team recently embarked on a redesign of their app. Following the Android design principles, they stripped back the UI and simplified navigation. This allowed them to deliver a more streamlined app experience, along with a clean, crisp design that presents photos beautifully. And it paid off. According to Ramzi Rizk, EyeEm co-founder and CTO, �Our new design helped improve user growth and retention across the board, in every single metric we have.�



In the following video, Rizk and colleague Matias Castello, Product Head of Mobile, talk about their experience applying Android design to their app and the improvements in user engagement it has achieved:






Resources to help you with design



To learn more about how to design your apps for Android devices and achieve great user engagement and retention, be sure to check out these resources:



  • Android Design � all the information you need to understand and implement Android design principles in your app.


  • Design.Bytes � presented by the Google designers who created Material Design and apps, such as the Google I/O 2014 app, these videos provide a fun and informative introduction to Android design.


Monday, November 10, 2014

Utilities for C/C++ Android Developers: fplutil 1.0

By Stewart Miles, Fun Propulsion Labs at Google*



Today we're announcing the 1.0 release of fplutil, a set of small libraries and tools by Fun Propulsion Labs at Google (the FPL in fplutil) that is useful when developing C/C++ applications for Android.



fplutil introduces the following:



  • build_all_android.py, an all-in-one build script that allows you to build (with the Android NDK), install and run native (C/C++) Android apps from the command line. This is ideal for build automation, but is also useful in a developer�s compile/run loop.

  • buildutil performs the configuration, build and archive steps of Android and Linux C/C++ applications using a suite of Python modules. This suite of modules can automate builds in a continuous integration environment. This framework uses legacy tools in the Android Development Toolkit.

  • libfplutil enables C/C++ developers to write traditional applications (like Hello World) using "main()" and "printf()" on Android.

  • android_ndk_perf.py is a desktop tool that enables native (C/C++) developers to measure the CPU utilization of their applications on Android, guiding their optimization efforts. An example report is shown below:




android_ndk_perf.py example HTML report




You can download the latest open source release from our github page. We invite you to contribute to the project and join our discussion list!



*Fun Propulsion Labs is a team within Google that's dedicated to advancing gaming on Android and other platforms.



Thursday, November 6, 2014

Improved Game Testing with Google Play Games Management API

By Ben Frenkel, Google Play Games team





style="border-radius: 6px;padding:0;margin:0;">



We�re always looking to help developers improve the gaming experience for their users on Google Play. So today, we've expanded our existing suite of Management APIs to let you fully control all resources in your Google Play Games-enabled game during development and testing, with better support for alpha and beta groups.

Let�s take a quick dive into the expanded offering.


  • Reset a single tester�s state for any resource (e.g., achievements, leaderboards), or do it for all resources at once. For example, you can now completely reset a given tester�s data if they�ve ended up in a bad state due to an experimental build. You can do this for individual instances or all instances of achievements, events, quests, or leaderboards scores.


  • Reset the state of a single draft resource for all testers, or do it for all draft resources at once. You can now reset all draft leaderboards in your game before publishing with a single API call. This ensures the members of your alpha or beta communities don�t have an unfair advantage on release day. You can do this for individual instances or all instances of achievements, events, quests, or leaderboards scores.


  • Clear global match state for all real time or turn based matches composed solely of testers. You can now reset all turn-based matches on release day. This will ensure that all matches from that point on are on the release version of the game. This is available for both real-time or turn-based games.



These updates make it far less complex and error prone to manage data during testing, saving you time and improving the rate at which you can make and test changes to your games.



Play Games Management API background



The Management API is a set of tools that enable developers to do things like manage tester data and clean up bogus leaderboard score submissions. Developers can also use the API to control and manipulate resources (e.g., achievements, events, multiplayer match data).

Getting started



You can get started with the latest version of the Management API right now. Review the updated API reference documentation, start with an example management interface, or download the sample client libraries to get on your way.







Introducing a New Guide, �The Secrets to App Success on Google Play�

By Dom Elliott, Google Play team



With more than 50 billion apps and games downloaded in total, Google Play is helping developers and content creators around the world build successful businesses. In fact, we paid out more than $5 billion over the last year to developers for creating incredible apps that are changing the way people communicate, live, work, and play.



Developing an app or game and distributing it on Google Play is a good start, but it�s only the first step to building a sustainable business. That�s why we�ve written �The Secrets to App Success on Google Play,� a detailed playbook on the best practices and tools you can use to maximize the reach, retention, and revenue of your new app.





The guide is separated into the following sections:




  • Publishing on Google Play — using the Google Play Developer Console to distribute your app to over 1 billion Android users worldwide.

  • Quality — The fundamentals of building a great app and an insight into the Google Play guidelines and policies.

  • Discoverability & reach — Maximizing your app's discoverability and reaching the widest audience possible.

  • Engagement & retention — Converting installations into active users and improving user retention.

  • Monetization — Monetization strategies to generate ongoing, growing revenue streams.

  • Measurement with Google Analytics — Understanding your users and improving your app experience, conversions, and marketing.

  • Going global — Launching your app in local markets around the world.



Download the guide now in English (PDF, 11MB) or get it on Google Play. We�ll release the guide in more languages in the coming months. If you�re in the US or the UK, we also have a limited number of printed copies that we are offering to send for free. Request a printed copy here.



Once you�ve checked out the guide, we�d love to hear your feedback so we can continue to improve, let us know what you think.