Last week saw the introduction of version 4.2, which includes the Chromecast SDK for bringing app content to your larger screen TV – see Get Google Cast-ready with the Google Cast SDK – and increased support for Google Drive functionality (refinements to the API as well as improved performance and stability, says Google).
Why is Google Play important? Increasingly it’s the linchpin of the Android system.
It is the means by which Google both enables latest updates to seamlessly reach older handsets running previous versions of Android, sidestepping slow telco updates, aka the fragmentation problem (the benign).
Also, it is increasingly the non open source part of Android that prevents third parties fully re-working Android themselves for their own commercial purposes, a la Amazon or Samsung (the rather less benign).
An interesting recent article on Ars Technica – Neither Microsoft, Nokia, nor anyone else should fork Android. It’s unforkable. – covers this ground, and is worth five minutes of your reading time.
UPDATED: 14 February 2014
Google has subsequently revealed further new additions within Google Play Services 4.2 – see New Client API Model in Google Play Services
As well as the Chromecast and Drive additions, there are three new API-related developments. The client connection model has now been unified for all the APIs, there is support for “enqueuing” of API calls that allows you to call read methods before the API clients are connected, and there is now the option to specify if an API call should execute asynchronously.
Taking these in turn, in Google’s own words:
Connecting Client APIs
The client connection model has now been unified for all the APIs. As you may recall, you were previously required to use separate client classes for each API you wanted to use, for example:
GamesClient, etc. Instead, you should now use
GoogleApiClient, which allows you to connect to multiple APIs using a single call.
Enqueuing API Calls
Another new feature is enqueuing of API calls, which allows you to call read methods before the API clients are connected. This means you can issue these calls up front, for example in
onStart/onResume, rather than having to wait and issue them in different callback methods.
Supporting both Asynchronous and Synchronous Execution
With this release of Google Play services, you now have the option to specify if an API call should execute asynchronously (you will receive a callback once it is finished), or synchronously (the thread will block until the operation has completed).