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
minSdkVersionvalue inplay-services-location.aarthat caused unintendedWRITE_EXTERNAL_STORAGE,READ_EXTERNAL_STORAGE, andREAD_PHONE_STATEpermissions 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:
- New method
getVideoInfo()in theMediaStatusclass gets the current instance ofVideoInfo, which identifies 4K display resolution. - New method
CastContext.getCastState()exposesCastStatewhich holds the current session state, such as whether devices are available and a session has been established. - New
@drawablebutton attributes enable customizing button styles in mini controller and expanded controller. ImagePickernow has anonPickImagehandler that takes anImageHintsclass with the expected aspect ratio.- New method
CastContext.getMergedSelector()exposesMediaRouteSelector. - Two new ad break classes have been added:
AdBreakClipInfocontains static information about an ad break clip, andAdBreakStatusholds status information. - When a user is casting, other devices on the same network will get a sticky remote control notification to also control the playback.
- To learn more about this version and see additional notes, see Cast SDK November Release.
- New method
-
Location
- Improvements to Bluetooth Low Energy (BLE) scans.
-
Nearby
- Nearby Notifications is now available again. See the Nearby Notifications developer site for details and updates.
-
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
ImageHintsclass, which provides hints to theImagePickerobject 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
- Nearby Messages has been enhanced with a new opt-in UI and support for hands-free operation.
- Nearby Notifications is temporarily unavailable. See the Nearby Notifications developer site for details and updates.
-
Firebase
- The latest update to Firebase includes several improvements and bug fixes across multiple features. For more information, see Firebase Android SDK Release Notes.
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
minSdkVersionvalue inplay-services-location.aarthat caused unintendedWRITE_EXTERNAL_STORAGE,READ_EXTERNAL_STORAGE, andREAD_PHONE_STATEpermissions to be merged into app manifests. -
Ads
- Added a publisher diagnostics API method,
openDebugMenu, to theMobileAdsclass to provide mobile web and mobile app ad publishers with the same troubleshooting and preview functionality that is available for desktop ads.
- Added a publisher diagnostics API method,
-
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
setCountrymethod to restrict the scope of a Places autocomplete request to a single country.
- Added the
-
Firebase
- The latest update to Firebase includes several improvements and bug fixes across multiple features. For more information, see Firebase Android SDK Release Notes.
August 2016 - v.9.4
Highlights from the Google Play services 9.4 release.
-
Google Sign-In
GoogleSignInAccountnow includes thegetFamilyName()andgetGivenName()methods to allow access to the family name and given name of signed-in users.
-
Google Plus
Plus.API (including
Plus.PeopleApiandPlus.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.
- If you want to integrate with Google Sign-In, switch to
-
Cast
The Cast API v3 now includes improved functionality for app developers in the following areas:
- The
ControlButtonsContainerinterface defines a container for control buttons. - The
ExpandedControllerActivityclass provides most of the implementation for an expanded controller, a full-screen remote control.
- The
-
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
- The Safe Browsing API lets your app determine if a URI is associated with a potentially harmful application or a possible social engineering attack. To learn more, see Checking URLs with the Safe Browsing API.
-
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.txtfile 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
setAdChoicesPlacementmethod to theNativeAdOptions.Builderclass. 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.
- Added the
-
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
FirebaseAuthApiis not available on some devices. AFirebaseApiNotAvailableExceptionerror 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:
- Fixes a class change compilation error with ContextCompat.getNoBackupFilesDir().
- Fixes a known issue with serving Admob ads on devices without the Google Play services APK when your app uses ProGuard post-processing.
-
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 usecom.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 tocom.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 usingsetAppMuted(). - The MobileAds
initialize(android.content.Context, java.lang.String)method is no longer deprecated. Instead, theinitialize(android.content.Context)method is now deprecated. - The
MediationNativeListenerinterface 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()orBarcodeDetector.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 existError:(xx, xx) error: cannot find symbol variable GoogleAuthUtilIf 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:
OnInfoWindowLongClickListenertriggers a callback toonInfoWindowLongClick(Marker)when the user long clicks on an info window.OnInfoWindowCloseListenertriggers a callback toonInfoWindowClose(Marker)when an info window closes. For details, see the guide to info window events.OnPolylineClickListenertriggers a callback toonPolylineClick(Polyline)when the user clicks on a polyline. See the guide to polyline events.OnPolygonClickListenertriggers a callback toonPolygonClick(Polygon)when the user clicks on a polygon. See the guide to polygon events.OnGroundOverlayClickListenertriggers a callback toonGroundOverlayClick(GroundOverlay)when the user clicks on a ground overlay. See the guide to ground overlay events.
- 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.
- This release introduces a number of new event listeners:
-
Google Places
- This release introduces a new autocomplete service that returns place
predictions in response to user search queries.
PlaceAutocompleteFragmentis a search dialog with built in autocomplete functionality.GeoDataApi.getAutocompletePredictions()allows programmatic access to place predictions to allow creating a full custom search UI.
- Autocomplete has also been added to the Place Picker.
- This release introduces a new autocomplete service that returns place
predictions in response to user search queries.
-
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
GoogleSignInOptionsobject to prompt users to sign in with only accounts in your Google Apps domain by using the setHostedDomain builder method. - The
onUploadServerAuthCodecallback and related functions have been removed. To acquire an access token for your backend, use therequestServerAuthCodeandgetServerAuthCodemethods. 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. WithupdateData, 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.
- The Google Fit History API now includes a new method,
-
Nearby Messaging
- New support for subscribing to BLE beacon messages in the background. This makes it possible for your app to receive beacon notifications even when it is not currently active.
-
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
- Added support for Aztec barcodes.
-
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
GoogleSignInAPI makes it significantly easier to integrate basic Google account functionality into your app. Some of the changes include:- You can now change the
GoogleApiClientsign-in state without having to re-establish a connection. SeeSIGN_IN_MODE_OPTIONALandSIGN_IN_MODE_REQUIREDfor 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.
- You can now change the
- 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 aResultCallbackthat 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 setIsDesignedForFamiliesmethod 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. ResolvingResultCallbackscan be used to automatically start resolutions returned by API calls when user interaction is required- The
CastRemoteDisplayLocalServiceexposes a new callback,onServiceCreatedthat 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()onCameraSource. - The
DataApinow allows you to specify the urgency of items to be synced to a wearable device with thePutDataRequest.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.
- The new
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 thegetDescription()andgetMatchedSubstrings(), 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, andOptionalPendingResultare now abstract classes instead of interfaces. The signature ofPendingResult.setResultCallbackhas changed fromsetResultCallback(ResultCallback<R> callback)tosetResultCallback(ResultCallback<? super R> callback). An equivalent change has been made tosetResultCallbackthat 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 classPendingResultswhich can provide aResultthat 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.credentialsAPI to save and retrieve credentials, and automatically sign users in across devices (and websites in Chrome). To save credentials, call theAuth.CredentialsApi.save()method. Conversely, to retrieve credentials saved on Android devices and Chrome, call theAuth.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
GcmListenerServiceto implement a standardized way to receive GCM messages, and display notifications upon request by the GCM server. The newGcmNetworkManagerclass 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
appinviteAPI 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.
- Maps - This release makes the Google Maps Android API v2 available on
Android Wear, so you can
now create map-based apps that run directly on wearable devices. In addition, the Maps API now
offers a new
OnStreetViewPanoramaLongClickListenerinterface, similar to the existingOnMapLongClickListenerinterface. These listeners are particularly helpful for wearable devices, so you can let users exit from the app by long-clicking on a map or panorama. On a wearable device, the swipe gesture is used to pan the map instead of exiting the app. - Wear - In addition to Maps support, this release provides you with the ability to advertise
and discover the capabilities of devices that are connected in a Wear network, through the
new
CapabilityApiclass. The newChannelApiclass lets you send and receive data bi-directionally from your wearable app on a device to another wearable node. Use the Channel API to send large files for offline access or to stream real-time binary data. - Fit - This release provides a new
HistoryApi.readDailyTotal()method for you to get aggregated daily data for a given data type. This release also introduces data types for recording granular nutrition information including protein, fat, cholesterol, and more. -
Location - This release adds a maximum wait time for location updates. By calling the new
setMaxWaitTime()method and passing in a value at least double the value requested with thesetInterval()method, the system can batch location updates together, reducing battery usage and, on some devices, improving location accuracy. In addition, you can use the newLocationCallbackclass to be notified when the device location has changed or can no longer be determined. -
Places - This release adds a
PlaceBuffer.getAttributions()method for displaying third-party attributions.
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
FusedLocationProviderApicombines 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 newSettingsApiclass, 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()andaddCategoryExclusion()methods to thePublisherAdRequest.Builderclass, 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()) anduntrash()methods to theDriveResourceclass. 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. TheisExplicitlyTrashed()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 inMapViewandMapFragmentis now deprecated in favor of the newgetMapAsync()method. Similarly, the newgetStreetViewPanoramaAsync()method inStreetViewPanoramaViewandStreetViewPanoramaFragmentenables 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
WalletFragmentand specify theBUY_BUTTONmode, then set the button text toDONATE_WITH_GOOGLE. Note: Use of the Donate with Google button is limited to 501(c)(3) organizations. For more information, see the Content policies.- Setting button text developer guide
- Granular dependency management - If the number of references in your app exceeds the 65K method reference limit, your app may fail to compile. To avoid this problem, you can include just the specific Google Play services APIs your app uses, instead of all of them, when compiling your app. For more details, see the Android Studio setup instructions in Setting Up Google Play Services.
-
Deprecated clients - The
ActivityRecognitionClient,LocationClient, andPlusClientclasses are deprecated. If you used those APIs in your app and want to call Google Play services 6.5 or higher APIs, you must switch to the new programming model that utilizesGoogleApiClient. For more information about usingGoogleApiClient, see Accessing Google APIs. Use these APIs instead of the deprecated APIs: -
If you were previously using
ActivityRecognitionClient, callActivityRecognitioninstead. - If you were previously using
LocationClient, call the APIs in the `com.google.android.gms.location} package instead. - If you were previously using
PlusClient, call the APIs in the `com.google.android.gms.plus} package instead.
October 2014
For a summary of the feature highlights in Google Play services 6.1, see the announcement blog post.
- Drive - This release adds the
CompletionEventclass to notify you when actions are committed to the server and respond to conflicts. Recent and starred views are now available in the file picker user interface provided byOpenFileActivityBuilder, and the user interface has been updated to use material design. A new DriveResource.setParents() method makes it possible to organize files and folders. In addition, theContentsclass has been replaced with aDriveContentsclass that simplifies working with file contents. - Tag Manager - Google Tag Manager now supports Enhanced Ecommerce through the Universal Analytics tag.
- Fit - The Google Fit developer preview, initially announced in August, has been refreshed to enable you to test your new fitness apps on any Android device.
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.
- Street View developer guide
- Add Street View to your app and programmatically control the user’s experience.
- Indoor Maps developer guide
- Customize the level picker and specify the active level of a building.
- 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.
- In-app purchase APIs developer guide
- Enable in-app purchases via ads by using the in-app purchase APIs.
- In-app purchase API reference
- Wallet Fragment - The new Wallet Fragment API allows you to easily integrate Google Wallet
Instant Buy with an existing app.
- About Wallet Fragment
- Tutorial showing how to use wallet fragment to handle user events and to automate key parts of the purchase lifecycle.
- Detailed API process flow
March 2014
For a summary of the feature highlights in Google Play services 4.3, see the announcement blog post.
- Play Games - The new Game Gifts API enables games to send virtual in-game requests to anyone in a player’s circles or through player search.
- Analytics - Google Analytics and Tag Manager are now part of Google Play services.
- Drive - Change notifications, offline content, and more.
- Pinning Files - Make files available offline.
- Listening for Change Events
- Receive notifications for change events asynchronously.
- Storing Application Data
- Store application data in a special hidden folder.
- Address - Let your users provide complete addresses in a single click.
