Release Notes

November 2016 - v.10.0

Highlights from the Google Play services 10.0 release.

  • Google Play services updated to 10.0.1 This release fixes a missing minSdkVersion value in play-services-location.aar that caused unintended WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_STORAGE, and READ_PHONE_STATE permissions to be merged into app manifests.

  • Android version 2.3.x (Gingerbread) Deprecation

    • Google Play services 10.0.x is the final release that includes full support for Android version 2.3.x (Gingerbread). Apps developed using future SDK releases after 10.0.x will not be able to connect to Google Play services on Android Gingerbread devices. To learn more about your options, including building multiple APKs to extend your app's support for Android Gingerbread, see the Android Developers Blog.
  • Cast

    Cast API November release provides improved functionality to app developers in the following areas:

  • Location

    • Improvements to Bluetooth Low Energy (BLE) scans.
  • Nearby

  • Firebase

    • The latest update to Firebase includes several improvements and bug fixes across multiple features, including the availability of a new Firebase App Indexing API. For more information, see Firebase Android SDK Release Notes.

October 2016 - v.9.8

Highlights from the Google Play services 9.8 release.

  • Ads

    • Added the collection of Active View traffic measurement data for DoubleClick Campaign Manager advertisers whose ads render in apps that use the Google Mobile Ads SDK.
  • Cast

    Cast API v3.3 provides improved functionality to app developers in the following areas:

    • When playing ads, the appearance of the seek bar has been improved, and the background poster image is blurred.
    • Added the ability to customize the style of mini controllers.
    • Added the ImageHints class, which provides hints to the ImagePicker object about the type and size of image to select for display in the UI.
    • To learn more about this version, see Cast SDK v3.3.
  • Fit

    • Fit now includes a Goals API that allows your app to read fitness goals created by users of the Google Fit Android app.
  • Google Sign-in

    • Added the ability for users to fill in phone numbers associated with their account with a single tap in apps that use the Credentials API.
  • Nearby

  • Firebase

September 2016 - v.9.6

Highlights from the Google Play services 9.6 release.

  • Google Play services updated to 9.6.1 This release fixes a missing minSdkVersion value in play-services-location.aar that caused unintended WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_STORAGE, and READ_PHONE_STATE permissions to be merged into app manifests.

  • Ads

    • Added a publisher diagnostics API method, openDebugMenu, to the MobileAds class to provide mobile web and mobile app ad publishers with the same troubleshooting and preview functionality that is available for desktop ads.
  • Cast

    Cast API v3.2 provides improved functionality to app developers in the following areas:

    • Ads Mode: Put controllers and notification control into a mode where controls are disabled while ads are served.
    • Live Mode: Live video and audio streams now have a play/stop button in place of the play/pause button.
    • To learn more about this version, see Cast SDK v3.2.
  • Maps

    • Introducing custom map styling: You can now style your map to change the appearance of (or even hide) features such as roads, parks, businesses, and more.
    • Business points of interest (POIs) now appear by default on the map. Business POIs represent businesses such as shops, restaurants, and hotels. You can hide these using custom map styling.
    • For details and important notes, see the Maps Android API release notes.
  • Places

    • Added the setCountry method to restrict the scope of a Places autocomplete request to a single country.
  • Firebase

August 2016 - v.9.4

Highlights from the Google Play services 9.4 release.

  • Google Sign-In

    • GoogleSignInAccount now includes the getFamilyName() and getGivenName() methods to allow access to the family name and given name of signed-in users.
  • Google Plus

    Plus.API (including Plus.PeopleApi and Plus.AccountApi) has been deprecated. All Google+ UI widgets such as sharing and "+1" buttons continue to be supported.

    • If you want to integrate with Google Sign-In, switch to GoogleSignInApi.
    • If your app needs social information and more extensive profile data, check out the Android Contacts Provider or the cross-platform People API. To enhance the distribution of your app through the social graphs of your app's userbase, use Firebase Invites.

    See the Plus.API deprecation notes for details.

  • Cast

    The Cast API v3 now includes improved functionality for app developers in the following areas:

  • Places

    • The Places API now includes a redesigned Place Picker UI that implements the principles of material design.
  • Maps

    • Added a set of new camera change listeners for camera motion start, ongoing, and end events.
    • Added the ability to store and retrieve arbitrary data objects that are associated with markers.
    • Added the ability to set preferred minimum and maximum zoom levels.
    • Added the ability to constrain the bounds within which users can scroll and pan.
    • To learn more, see the latest Google Maps Android APIs Release Notes.
  • Security

  • Firebase

    • The latest update to Firebase includes several improvements and bug fixes across multiple features. For more information, see Firebase Release Notes.

June 2016 - v.9.2

Highlights from the Google Play services 9.2 release.

  • Google Play services updated to 9.2.1 This release fixes an issue with the proguard.txt file included with the 9.2.0 release that causes the following errors to occur:

    • In Android projects that use the Gradle resource shrinker, the following error occurs:

      no viable alternative at input 'com.google.android.gms.common.util.DynamiteApi'

    • In Android projects that use the Jack toolchain, errors similar to the following occur:

      Error while parsing '<path>/exploded-aar/com.google.android.gms/play-services-auth-base/9.2.0/proguard.txt':37 [<stack trace>] NoViableAltException(5@[])

  • Ads

    • Added the setAdChoicesPlacement method to the NativeAdOptions.Builder class. App publishers can use this method to specify the location of their AdChoices icon in native ads.
    • Improved video ad playback with several bug fixes.
  • Awareness

    The Awareness API unifies seven location and context signals in a single API, enabling you to create apps with powerful context-based features that have a minimal impact on system resources. It includes two sets of APIs:

    • The Snapshot API allows apps to get the current value of any of the seven signals.
    • The Fence API allows apps to react to changes in the user’s context.
  • Cast

    Cast API v3 provides improved functionality to app developers in the following areas:

    • Session state management
    • Connect, disconnect, and reconnect logic
    • UX implementation and UI
    • Support for a wider range of device types
    • To learn more about this version, see the Google Cast SDK v3.
  • Firebase

    • The latest update to Firebase includes several improvements and bug fixes across multiple features. For more information, see Firebase Release Notes.
  • Google Fit

    • Improvements to step counts on Android Wear to make step count measurement both consistent across watchfaces and apps, and persistent with HistoryApi#readDailyTotal
    • Listen for data updates with HistoryApi#registerDataUpdateListener() to allow your app to update its internal data cache when stored data is updated by another app.
    • Added a new hydration data type used to measure water consumption.
  • Location

    • Bug fixes and improvements in several areas, including battery management and activity recognition.
  • Maps

    • The new MarkerOptions.zIndex() method sets the stack order of a marker in relation to other markers on the map.
    • You can set a transparency factor on tile overlays, so users can see the base map below the overlaid tiles.
    • It's now easier to make circles clickable, and then use an OnCircleClickListener to listen to click events.
    • For details and important notes, see the Maps Android API release notes.
  • Mobile Vision

    • Resolved issues with a service required by Mobile Vision barcode detection and face detection. All users can once again use barcode and face detection functionality. For more information, see Mobile Vision Release Notes.
    • Added Text API: optical character recognition for Latin character text (English, Spanish, German, French, etc.) in photos. Text API returns the organizational structure of the text (paragraphs, lines, words) as well as the text itself.
  • Nearby

    • Added Nearby notifications, to let users know about apps and websites associated with nearby beacons and smart devices.
    • Nearby.Messages can scan for Eddystone beacons and iBeacons in the background, waking client applications up when beacons matching their filter are found. To learn more, see Nearby.Messages.
    • This release removes the requirement that clients use the Proximity Beacon API to manage their beacons. Nearby will now return parsed BLE advertisements directly, allowing clients to use their own solution to interpret those advertisements.
    • Distance estimates and RSSI information are now returned to foreground beacon clients.

May 2016 - v.9.0

Highlights from the Google Play services 9.0 release.

  • Google Play services updated to 9.0.2 The Google Play services version 9.0.2 release is now available. This release fixes a known issue with Firebase Authentication where the FirebaseAuthApi is not available on some devices. A FirebaseApiNotAvailableException error occurs when those devices attempt to use Authentication APIs.

  • Google Play services updated to 9.0.1

    The Google Play services version 9.0.1 release is now available. This release fixes the following issues with the version 9.0.0 release:

  • Firebase

    Firebase gives mobile developers the tools and infrastructure they need to develop their app, grow their user base, and earn revenues from in-app ads. In this release, Firebase APIs are now available in Google Play services, and include new products: Firebase Analytics, Firebase Storage, Firebase Remote Config, Firebase Crash Reporting, Firebase Dynamic Links, and Firebase Notifications.

    For a list of the libraries available for the different Firebase features, see Firebase libraries. The following features are now part of Firebase in the Google Play Services 9.0 SDK:

    • App Invites (now Firebase Invites) is still available at com.google.android.gms.appinvite, but going forward you should use com.google.firebase:firebase-invites.

    • Firebase Cloud Messaging builds on and improves the Google Cloud Messaging API. You can keep using Google Cloud Messaging with com.google.android.gms.gcm, but we recommend upgrading to com.google.firebase:firebase-messaging.

    To learn more about Firebase, see https://firebase.google.com/.

  • Ads

    • The Rewarded Video Publisher API now includes support for custom events.
    • Native express video now includes APIs that provide control of how videos are displayed, including specifying the initial mute state and callbacks when the video is complete.
    • Updated Custom Search Ads for mobile apps that let app developers monetize in-app search events with highly relevant ads based on their user's queries. With this update, the in-app monetization solution is equivalent to what is available on the desktop or the mobile web. App developers now have access to the full set of extensions, layouts, attribution options, callbacks and custom ad icons.
    • The MobileAds API now includes support for setting the preferred volume of video ads using setAppVolume(), and also muting video ads using setAppMuted().
    • The MobileAds initialize(android.content.Context, java.lang.String) method is no longer deprecated. Instead, the initialize(android.content.Context) method is now deprecated.
    • The MediationNativeListener interface now includes a method, onAdImpression(), which mobile ad networks can call when they record an impression.
  • Nearby

    • Simplified the Nearby consent UI and permission model.
    • Any app with fine-grain location permission can scan for BLE Beacons without additional permission.
    • Opt-in dialogs are shown to users when the app calls the GoogleAPIClient connect() method.
  • Games

    • Client SDK updates to improve the Player Stat API with two new predictions: predicting player spend in the next 28 days, and predicting the probability of a player being a 95th percentile spender.
    • Client SDK updates to make the Video Recording API widely available.
  • Google Cloud Messaging

    • Google Cloud Messaging (GCM) is integrated with Firebase. Existing users of GCM can continue to use GCM without interruption, though we strongly recommend upgrading to the new and simplified Firebase Cloud Messaging (FCM) APIs, so that users can benefit from future releases of new features and enhancements. To learn more, see Migrate a GCM Client App for Android to Firebase Cloud Messaging.
  • Mobile Vision

    • A service required by Mobile Vision is now disabled due to an issue with that service. This will prevent users who have not already used face or barcode detection from using those features. We do not recommend adding new Mobile Vision features to your app until this issue is fixed.
    • For apps that already use Mobile Vision features, check FaceDetector.isOperational() or BarcodeDetector.isOperational() to confirm detector readiness before using the face or barcode detector.
  • Auth

    GoogleAuthUtil has moved to the -auth API split in the Google Play services SDK. If your app uses GoogleAuthUtil.getToken() you may see an error similar to the following:

    Error:(xx, xx) error: package com.google.android.gms.auth does not exist

    Error:(xx, xx) error: cannot find symbol variable GoogleAuthUtil

    If you need to access the REST API on Android, include the -auth split in your build.gradle file:

    compile 'com.google.android.gms:play-services-auth:9.0.1'

    Otherwise, we recommend migrating your app to the Google Sign-In API to incorporate the latest improvements in security and user experience into your app. To learn more, see our guide to Google Sign In best practices.

Known Issues with version 9.0.0

If your app uses Admob and also uses ProGuard post-processing, your app won't be able to serve ads to devices without the Google Play services APK unless you adjust your ProGuard configuration or update your app to use the Google Play services version 9.0.1 SDK. To ensure that ads are served to these devices after your app is updated to use the Google Play Services 9.0.0 SDK, add the following keep option to your ProGuard configuration file:

-keep public @com.google.android.gms.common.util.DynamiteApi class * { *; }

December 2015 - v.8.4

Highlights from the Google Play services 8.4 release.

  • Google Maps

    • This release introduces a number of new event listeners:
    • You can enable or disable the clickability of polylines, polygons and ground overlays by calling setClickable(boolean) on the relevant object.
    • Several bug fixes. Details available in the Google Maps release notes.
  • Google Places

  • Google Sign In

    • When users revoke an app's access with Google Settings > Connected Apps, Google Play services will start the Revocation service to clean up cached sign-in state.
    • You can configure the GoogleSignInOptions object to prompt users to sign in with only accounts in your Google Apps domain by using the setHostedDomain builder method.
    • The onUploadServerAuthCode callback and related functions have been removed. To acquire an access token for your backend, use the requestServerAuthCode and getServerAuthCode methods. See Enabling Server-Side Access for details.
  • Google Fit History

    • The Google Fit History API now includes a new method, updateData, that makes it easier to update data stored in Google Fit. With updateData, you no longer need to delete existing data points that overlap with a new data point that you want to add to Google Fit. Conflicts are automatically resolved by deleting existing data points that overlap with the new data point.
  • Nearby Messaging

  • App Invites

    • You can now include additional data from your app when sending email based invites, including: a custom image, custom call-to-action text for the invitation's install button, and custom HTML for the invitation email.
  • Vision API

  • Location Services

    • Improved accuracy when using WiFi or cell towers to determine location.

Known Issues

  • Emulators for the latest version of Android Wear are currently unavailable.

November 2015 - v.8.3

Highlights from the Google Play services 8.3 release.

  • Google Sign In - The new GoogleSignIn API makes it significantly easier to integrate basic Google account functionality into your app. Some of the changes include:
    • You can now change the GoogleApiClient sign-in state without having to re-establish a connection. See SIGN_IN_MODE_OPTIONAL and SIGN_IN_MODE_REQUIRED for more details.
    • Simplifies integration when authenticating with a server.
    • No longer requires system permission to get a signed-in account.
    • A newly redesigned Sign In button.
  • Location Services
    • Battery improvements for Fused Location Provider.
    • The new flushLocations() method allows you to return any batched locations immediately, instead of waiting for batching to occur.
  • Application Measurement - This release adds a feature for collecting anonymous statistics on in-app purchase events.
  • App Invites - The new AppInvite.AppInviteApi.getInvitation() method will set up a ResultCallback that you can use to launch your deep link activity.
  • Miscellaneous Improvements - Various improvements and changes have been made to Google Play services, including:
    • The new AdRequest.Builder setIsDesignedForFamilies method allows apps that have opted into the Designed for Families program to specify whether a given ad request should return Designed for Families-compliant ads.
    • ResolvingResultCallbacks can be used to automatically start resolutions returned by API calls when user interaction is required
    • The CastRemoteDisplayLocalService exposes a new callback, onServiceCreated that is called when the local service has been created.
    • The GoogleApiClient.dumpAll() method can be used to help debug lifecycle issues.
    • You can now programmatically setAutoFocusEnabled() on CameraSource.
    • The DataApi now allows you to specify the urgency of items to be synced to a wearable device with the PutDataRequest.isUrgent() method.
    • The Credentials API has moved to the -auth library from -base. You may need to add compile 'com.google.android.gms:play-services-auth:8.3.0' to avoid compile errors.

Known Issues

  • If you receive the error 'Found com.google.android.gms:play-services-auth:8.3.0, but version 8.1.0 is needed' when using the google-services plugin, please upgrade your google-services plugin to 1.5.0-beta2 or later.

September 2015 - v.8.1

Highlights from the Google Play services 8.1 release.

  • Adds support for the Marshmallow Permissions model.
  • Play Games Player Stats API - A new API that lets you tailor player experiences to specific segments of players across the game lifecycle. Player segments are based on player progression, spend, and engagement.
  • Google Maps Android API - New support for ambient mode for wearable apps. Ambient mode is for always on apps, and is activated when the user is no longer actively using the app.
  • App Invites - You can now customize the email invitation sent from your app.
  • Nearby Messages API - Your app will receive callbacks when an active Nearby publish or subscribe expires.
  • Google Places API - Three new methods have been added to AutocompletePrediction, giving you easy access to the primary and secondary parts of the place description as well as the full text of the description. These methods replace the getDescription() and getMatchedSubstrings(), which are now deprecated. Refer to the Google Places API for Android release notes for more details.
  • Application Measurement - This release adds the measurement package, which contains features for collecting anonymous statistics on application events such as when a user first opens your application. While this data is not collected unless correctly configured, you may permanently opt-out of reporting these statistics by adding the following resource to your application:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
       <integer name="google_app_measurement_enable">0</integer>
    </resources>
    
  • GoogleApiClient, PendingResult, and OptionalPendingResult are now abstract classes instead of interfaces. The signature of PendingResult.setResultCallback has changed from setResultCallback(ResultCallback<R> callback) to setResultCallback(ResultCallback<? super R> callback). An equivalent change has been made to setResultCallback that accepts a timeout parameter. If you were directly implementing these interfaces before, you’ll need to extend the abstract classes instead. If you used these classes for testing purposes, we recommend using the provided utility class PendingResults which can provide a Result that is either canceled or immediately available.

August 2015

For a summary of the feature highlights in Google Play services 7.8, see the announcement blog post.

  • Mobile Vision API - This release introduces a new, real-time, on-device API for understanding objects in photos and video. The Mobile Vision framework includes a face detector, barcode scanner, and functions for tracking the position of these objects in video.
  • Nearby Messages API - The new Nearby Messages API provides a cross-platform API for nearby devices and beacons to discover each other and communicate without having to be on the same Wi-Fi network.
  • Smart Lock for Android This release enhances Smart Lock for Android with the ability to detect the unique gait of your walk. If a pickpocket walks away with your phone, the device will lock up in most cases. Enable on-body detection to give it a try.
  • Place Photos Added support for retrieving and displaying Place photos with the Places API.

May 2015

For a summary of the feature highlights in Google Play services 7.5, see the announcement blog post.

  • Smart Lock for Passwords - This release introduces the gms.auth.api.credentials API to save and retrieve credentials, and automatically sign users in across devices (and websites in Chrome). To save credentials, call the Auth.CredentialsApi.save() method. Conversely, to retrieve credentials saved on Android devices and Chrome, call the Auth.CredentialsApi.request() method.

  • Google Cloud Messaging - This release offers you the ability to send messages and notifications to end users more efficiently, optimize task scheduling to save on battery usage, and simplify how your app receives messages. Topic messaging lets you build personalized notifications to reach a targeted audience. Use the new GcmListenerService to implement a standardized way to receive GCM messages, and display notifications upon request by the GCM server. The new GcmNetworkManager class lets you schedule one-off and periodic tasks in a battery-efficient way, and specify network and device charging constraints to further optimize battery use.

  • Ads - This release adds publisher-rendered native ads to AdMob, DFP, and AdX. With native ads, publishers have access to the ad's individual assets, and have the power to decide how to present the ad in a way that best fits their app content. AdMob, DFP, and AdX all support two system-defined formats, app install and content ads. DFP publishers also have access to custom native ad formats to build a custom native solution using their own reservation inventory.

  • Cast - The new Game Manager APIs for Google Cast introduces support for games with a streamlined communication model, multiple players per sender device, and custom messaging between senders and receiver that lets you enhance any game with the Cast experience. The new Remote Display connection model lets native apps, especially games, Cast a second display directly to the TV; now any game can be bigger with Cast. The new Autoplay and Queueing APIs give all connected apps a synchronized, editable media queue, and support for pre-loading adaptive streams.

  • Instance ID - Instance ID is a unique identifier per instance of an app that enables it to generate security tokens using the Instance ID cloud service.

  • Maps - This release makes the Google Maps Android API available on Android Wear, so you can now create map-based apps that run directly on wearable devices.

  • Fit - The Fit API now provides distance traveled and calories expended data that you can subscribe to. This release also introduces a new a data type for exercise activities (TYPE_WORKOUT_EXERCISE).

  • Drive - This release allows you to permanently delete files and folders even when your application is offline, by calling the delete() method.

  • App Invites - Use the new appinvite API to grow your app via word-of-mouth. Enable your users to share your app with their contacts and friends. Let Google power your referral and onboarding flows, so you can focus on building a great app.

April 2015

For a summary of the feature highlights in Google Play services 7.3, see the announcement blog post.

March 2015

For a summary of the feature highlights in Google Play services 7.0, see the announcement blog post.

  • Places - Using the Google Places API for Android, you can build location-aware apps that respond contextually to the local businesses and other places near the device. Use the built-in place picker UI widget and API methods to find the device’s current place, autocomplete users’ queries, and more.
  • Location settings - While the FusedLocationProviderApi combines multiple sensors to give you the optimal location, the accuracy of the location your app receives still depends greatly on the settings enabled on the device (GPS, wifi, airplane mode, and others). Using the new SettingsApi class, you can bring up a Location Settings dialog which displays a one-touch control for users to change their settings without leaving your app.
  • Fit - The Google Fit API is now more efficient with modular calls to specific functionality within the API. You can now also access distance and granular sleep data.
  • Google Mobile Ads - This release introduces the addCustomTargeting() and addCategoryExclusion() methods to the PublisherAdRequest.Builder class, enabling DoubleClick for Publishers (DFP) developers to target custom criteria and use ad exclusions to block ads.
  • Play Game services - The Nearby Connections API allows users to connect to each other and exchange messages over a local network. This API supports local multiplayer and second screen gaming.
  • Google API client - This release introduces the GoogleApiClient.Builder.requestServerAuthCode() method. This API makes it significantly easier to enable servers to be able to make Google API calls on behalf of users. This method reduces the lines of boilerplate code that you previously had to implement.
  • Drive - This release adds trash()) and untrash() methods to the DriveResource class. These methods enable you to move user-visible files and folders to the trash or restore them from the trash. Trashing a folder recursively trashes its children. The isExplicitlyTrashed() method indicates whether a resource was trashed directly, or as the result of a trashed parent.
  • SafetyNet API - The API lets you check if your app is running on a device that matches a device model that has passed Android compatibility testing. The API evaluates both software and hardware characteristics of a device to determine whether it matches a known-good configuration that has been previously determined to be compatible. You can use the SafetyNet API in conjunction with other tools to determine whether the device appears capable of handling specific features in your app.

December 2014

For a summary of the feature highlights in Google Play services 6.5, see the announcement blog post.

  • Maps - The new lite mode lets your app display a bitmap image of a map, while still being able to control markers and shapes client-side. This is particularly useful when you're showing a number of small maps. You can enable or disable a new map toolbar that lets users open Google Maps and get directions and turn by turn navigation to the selected marker. The getMap() method in MapView and MapFragment is now deprecated in favor of the new getMapAsync() method. Similarly, the new getStreetViewPanoramaAsync() method in StreetViewPanoramaView and StreetViewPanoramaFragment enables you to get a ready-to-use Street View panorama.
  • Drive - This release introduces support for inserting or updating custom properties. You can now create empty files (for example, a user preference file that is empty until the user defines some application property).
  • Fit - The Fit API now supports activity segments (DataType.TYPE_ACTIVITY_SEGMENT), which enable you to represent pauses within a workout session and to annotate time intervals inside a session with different fitness activities.
  • Wallet - You can now enable donations from your Android app in the same way you enable purchases. To do so, create a WalletFragment and specify the BUY_BUTTON mode, then set the button text to DONATE_WITH_GOOGLE. Note: Use of the Donate with Google button is limited to 501(c)(3) organizations. For more information, see the Content policies.

October 2014

For a summary of the feature highlights in Google Play services 6.1, see the announcement blog post.

July 2014

For a summary of the feature highlights in Google Play services 5.0, see the announcement blog post.

  • Analytics - The Enhanced Ecommerce API allows your app to send product related information and actions to Google Analytics. Use this API to measure impressions of products seen by users, checkout steps, and products purchased. This information can be analyzed for the effectiveness of marketing and merchandising efforts, including the impact of internal promotions, coupons, and affiliate marketing programs.
  • App Indexing - The App Indexing API provides a way for developers to notify Google about deep links in their native apps and allows the Google Search App, version 3.6 and above, to drive re-engagement through Google Search query autocompletions, providing fast and easy access to inner pages in apps.
  • Drive - The Query APIs now allow your app to retrieve Drive files by sorted order, according to a developer-specified sorting criteria.
  • Play Games - This release introduces the Quests and Saved Games services. The Quests service gives you the ability to issue time-bound in-game challenges based on Events data sent from your game, without republishing your game (for example: Your game sends an event each time a “gem” is found by a player, and you create a quest to “Find 20 gems”). Players can complete a quest to earn rewards. Saved Games offers improved functionality for saving game state information and visually displaying player game progression.
  • Security - The Security API allows you to easily install a dynamic security provider. New versions of Google Play Services will keep the security provider up-to-date with the latest security fixes as those become available.
  • Wallet - The Save to Google API for Android lets users save Wallet Objects to their Google Wallet with the click of a button displayed in your Android app.
  • Wearables - The Wearable Data Layer API provides a communication channel between your handheld and wearable apps. The API consists of a set of data objects that the system can send and synchronize and listeners that notify your apps of important events from the other device.

May 2014

For a summary of the feature highlights in Google Play services 4.4, see the announcement blog post.

  • Maps - New features for Street View and enhanced control of Indoor Maps.
  • Activity recognition - The Location API has been updated with new activity detectors for running and walking.
  • Mobile Ads - The new in-app purchase APIs allow publishers to display in-app purchase ads, which enables users to purchase advertised items directly.
  • Wallet Fragment - The new Wallet Fragment API allows you to easily integrate Google Wallet Instant Buy with an existing app.

March 2014

For a summary of the feature highlights in Google Play services 4.3, see the announcement blog post.