blob: 3d0f7f69a0b99b9900f4b207fea5a05cee15389c [file] [log] [blame]
page.title=Google Play Services
header.hide=1
page.metaDescription=With Google Play services, your app can take advantage of the latest Google-powered features such as Maps, Analytics, and more: platform updates are distributed automatically as an APK through the Google Play Store.
@jd:body
<div class="landing-banner">
<div class="col-6">
<img src="/images/google/gps.png" alt="">
</div>
<div class="col-6">
<h1 itemprop="name" style="margin-bottom:0;">Google Play Services</h1>
<p itemprop="description">Give your apps more features to attract users
on a wider range of devices.
With Google Play services, your app can take advantage
of the latest, Google-powered features such as Maps, Google+, and more,
with automatic platform updates distributed as an APK through
the Google Play store. This makes it faster for your users to receive updates
and easier for you to integrate the newest that Google has to offer.
</p>
</div>
</div>
<div class="layout-content-row">
<div class="layout-content-col span-4">
<h4>Google Technology</h4>
<p>Google Play services provides you with easy access to Google services and is
tightly integrated with the Android OS. Easy-to-use client libraries are
provided for each service that let you implement the functionality you want
easier and faster.</p>
</div>
<div class="layout-content-col span-4">
<h4>Standard Authorization</h4>
<p>All products in Google Play services share a common authorization API
that leverages the existing Google accounts on the device. You and your
users have a consistent and safe way to grant and receive OAuth2 access tokens
to Google services.</p>
</div>
<div class="layout-content-col span-4">
<h4>Automatic Updates</h4>
<p>Devices running Android 2.3 or higher that have the Google Play Store
app will automatically receive updates to Google Play services. Enhance
your app with the most recent version of Google Play services without worrying
about your users' Android version.</p>
</div>
<p>To start integrating Google Play services into your app,
follow the <a href="/google/play-services/setup.html">Setup</a> guide.</p>
</div>
<h2 style="margin-top:0" id="newfeatures">New Features</h2>
<div class="toggle-content opened">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-opened.png"
class="toggle-content-img"
alt=""/>Google Play services, Version 7.0</a> <em>(March 2015)</em>
</p>
<div class="toggle-content-toggleme">
<dl>
<dt>Highlights in Version 7.0</dt>
<dd>
<p>For a summary of the feature highlights in Google Play services 7.0, see the
announcement
<a href="http://android-developers.blogspot.com/2015/03/google-play-services-70-places-everyone.html"
class="external-link">blog post</a>.</p>
<ul>
<li><strong>Places</strong> - 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.
<ul>
<li><a href="https://developers.google.com/places/documentation/android/"
class="external-link">Places API developer guide</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/location/places/package-summary.html">
Places API reference</a></li>
</ul>
</li>
<li><strong>Location settings</strong> - While the
<a href="{@docRoot}reference/com/google/android/gms/location/FusedLocationProviderApi.html">
{@code FusedLocationProviderApi}</a>
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
<a href="{@docRoot}reference/com/google/android/gms/location/SettingsApi.html">
{@code SettingsApi}</a>
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.
</li>
<li><strong>Fit</strong> - 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.
<ul>
<li><a href="https://developers.google.com/fit/android/get-started.html#step_5_connect_to_the_fitness_service"
class="external-link">Fit API developer guide</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/fitness/package-summary.html">
Fit API reference</a></li>
</ul>
</li>
<li><strong>Google Mobile Ads</strong> - This release introduces the
<a href="{@docRoot}reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.Builder.html#addCustomTargeting(java.lang.String,%20java.lang.String)">
{@code addCustomTargeting()}</a>
and <a href="{@docRoot}reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.Builder.html#addCategoryExclusion(java.lang.String)">
{@code addCategoryExclusion()}</a>
methods to the <a href="{@docRoot}reference/com/google/android/gms/ads/doubleclick/PublisherAdRequest.Builder.html">
{@code PublisherAdRequest.Builder} </a>
class, enabling DoubleClick for Publishers (DFP) developers to
<a href="https://support.google.com/dfp_sb/answer/112648" class="external-link">target custom
criteria</a>
and <a href="https://support.google.com/dfp_premium/answer/2627086" class="external-link">use
ad exclusions to block ads</a>.
<ul>
<li><a href="https://developers.google.com/mobile-ads-sdk/docs/dfp/android/banner"
class="external-link">DFP targeting developer guide</a></li>
</ul>
</li>
<li><strong>Play Game services</strong> - 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.
<ul>
<li><a href="https://developers.google.com/games/services/android/nearby.html"
class="external-link">Nearby Connections developer guide</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/nearby/connection/package-summary.html">
Nearby Connection API reference</a></li>
</ul>
</li>
<li><strong>Google API client</strong> - This release introduces the
<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.Builder.html#requestServerAuthCode(java.lang.String,%20com.google.android.gms.common.api.GoogleApiClient.ServerAuthCodeCallbacks)">{@code GoogleApiClient.Builder.requestServerAuthCode()}</a> 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.
<ul>
<li><a href="https://developers.google.com/identity/sign-in/android/sign-in.html#enable_server-side_api_access_for_your_app"
class="external-link">Server-side API access developer guide</a></li>
</ul>
</li>
<li>
<strong>Drive</strong> - This release adds
<a href="{@docRoot}reference/com/google/android/gms/drive/DriveResource.html#trash(com.google.android.gms.common.api.GoogleApiClient))">
{@code trash()}</a> and
<a href="{@docRoot}reference/com/google/android/gms/drive/DriveResource.html#untrash(com.google.android.gms.common.api.GoogleApiClient)">
{@code untrash()}</a> methods to the
<a href="{@docRoot}reference/com/google/android/gms/drive/DriveResource.html">
{@code DriveResource}</a>
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
<a href="{@docRoot}reference/com/google/android/gms/drive/Metadata.html#isExplicitlyTrashed()">
{@code isExplicitlyTrashed()}</a> method indicates whether a resource was trashed directly,
or as the result of a trashed parent.
<ul>
<li><a href="https://developers.google.com/drive/android/trash.html"
class="external-link">Trashing and untrashing developer guide</a></li>
</ul>
</li>
<li><strong>SafetyNet API</strong> - 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.
<ul>
<li><a href="{@docRoot}reference/com/google/android/gms/safetynet/package-summary.html">
SafetyNet API reference</a></li>
<li><a href="{@docRoot}google/play/safetynet/index.html">
SafetyNet developer guide</a></li>
</ul>
</li>
</ul>
</dd>
</dl>
</div>
</div>
<div class="toggle-content closed">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
alt=""/>Google Play services, Version 6.5</a> <em>(December 2014)</em>
</p>
<div class="toggle-content-toggleme">
<dl>
<dt>Highlights in Version 6.5</dt>
<dd>
<p>For a summary of the feature highlights in Google Play services 6.5, see the
announcement
<a href="http://android-developers.blogspot.com/2014/11/google-play-services-65.html"
class="external-link">blog post</a>.</p>
<ul>
<li><strong>Maps</strong> - The new <em>lite mode</em> 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
<a href="https://www.google.com/maps" class="external-link">Google Maps</a> and
get directions and turn by turn navigation to the selected marker. The
{@code getMap()} method in
<a href="{@docRoot}reference/com/google/android/gms/maps/MapView.html">{@code MapView}</a>
and
<a href="{@docRoot}reference/com/google/android/gms/maps/MapFragment.html">{@code MapFragment}</a>
is now deprecated in favor of the new {@code getMapAsync()} method. Similarly,
the new {@code getStreetViewPanoramaAsync()} method in
<a href="{@docRoot}reference/com/google/android/gms/maps/StreetViewPanoramaView.html">{@code StreetViewPanoramaView}</a> and
<a href="{@docRoot}reference/com/google/android/gms/maps/StreetViewPanoramaFragment.html">{@code StreetViewPanoramaFragment}</a>
enables you to get a ready-to-use Street View panorama.
<ul>
<li><a href="https://developers.google.com/maps/documentation/android/lite.html"
class="external-link">Lite mode maps developer guide</a></li>
<li><a href="https://developers.google.com/maps/documentation/android/interactivity.html#toolbar"
class="external-link">Map toolbar developer guide</a></li>
</ul>
</li>
<li><strong>Drive</strong> - 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).
<ul>
<li><a href="{@docRoot}reference/com/google/android/gms/drive/metadata/CustomPropertyKey.html">{@code CustomPropertyKey} API reference</a></li>
<li><a href="https://developers.google.com/drive/android/create-file.html"
class="external-link">Creating empty files developer guide</a></li>
</ul>
</li>
<li><strong>Fit</strong> - The Fit API now supports activity segments
(<a href="{@docRoot}reference/com/google/android/gms/fitness/data/DataType.html#TYPE_ACTIVITY_SEGMENT">{@code DataType.TYPE_ACTIVITY_SEGMENT}</a>), which
enable you to represent pauses within a workout session and to annotate time
intervals inside a session with different fitness activities.
</li>
<li><strong>Wallet</strong> - You can now enable donations from your Android
app in the same way you enable purchases. To do so, create a
<a href="{@docRoot}reference/com/google/android/gms/wallet/fragment/WalletFragment.html">{@code WalletFragment}</a> and specify the
<a href="{@docRoot}reference/com/google/android/gms/wallet/fragment/WalletFragmentMode.html#BUY_BUTTON">{@code BUY_BUTTON}</a>
mode, then set the button text to
<a href="{@docRoot}reference/com/google/android/gms/wallet/fragment/BuyButtonText.html#DONATE_WITH_GOOGLE">{@code DONATE_WITH_GOOGLE}</a>.
<p class="note"><strong>Note:</strong> Use of the <em>Donate with Google</em>
button is limited to 501(c)(3) organizations. For more information, see the
<a href="https://support.google.com/wallet/business/answer/75724?hl=en&rd=1" class="external-link">Content policies</a>.</p>
<ul>
<li><a href="https://developers.google.com/wallet/instant-buy/android/tutorial.html" class="external-link">Setting button text developer guide</a></li>
</ul>
</li>
<li><strong>Granular dependency management</strong> - If the number of
references in your app exceeds the
<a href="{@docRoot}tools/building/multidex.html">65K method reference limit</a>,
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
<a href="{@docRoot}google/play-services/setup.html">Setting Up Google Play Services</a>.
</li>
<li><strong>Deprecated clients</strong> - The {@code ActivityRecognitionClient},
{@code LocationClient}, and {@code PlusClient} classes 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 utilizes
<a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code GoogleApiClient}</a>. For more information about using <a href="{@docRoot}reference/com/google/android/gms/common/api/GoogleApiClient.html">{@code GoogleApiClient}</a>, see <a href="{@docRoot}google/auth/api-client.html">Accessing Google APIs</a>.
<p>Use these APIs instead of the deprecated APIs:</p>
<ul>
<li>If you were previously using {@code ActivityRecognitionClient}, call
<a href="{@docRoot}reference/com/google/android/gms/location/ActivityRecognition.html">{@code ActivityRecognition}</a> instead.</li>
<li>If you were previously using {@code LocationClient}, call the APIs in the
<a href="{@docRoot}reference/com/google/android/gms/location/package-summary.html">{@code com.google.android.gms.location} package</a> instead.</li>
<li>If you were previously using {@code PlusClient}, call the APIs in the
<a href="{@docRoot}reference/com/google/android/gms/plus/package-summary.html">{@code com.google.android.gms.plus} package</a> instead.</li>
</ul>
</li>
</ul>
</dd>
</dl>
</div>
</div>
<div class="toggle-content closed">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-closed.png"
class="toggle-content-img"
alt=""/>Google Play services, Version 6.1</a> <em>(October 2014)</em>
</p>
<div class="toggle-content-toggleme">
<dl>
<dt>Highlights in Version 6.1</dt>
<dd>
<p>For a summary of the feature highlights in Google Play services 6.1, see the
announcement
<a href="http://android-developers.blogspot.com/2014/09/google-play-services-61.html"
class="external-link">blog post</a>.</p>
<ul>
<li><strong>Drive</strong> - This release adds the
<a href="{@docRoot}reference/com/google/android/gms/drive/events/CompletionEvent.html">
<code>CompletionEvent</code></a> class 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 by
<a href="{@docRoot}reference/com/google/android/gms/drive/OpenFileActivityBuilder.html">
<code>OpenFileActivityBuilder</code><a/>, and the user interface has been
updated to use
<a href="http://www.google.com/design/spec/material-design/introduction.html"
class="external-link">material design</a>. A new
<a href="{@docRoot}reference/com/google/android/gms/drive/DriveResource.html#setParents(com.google.android.gms.common.api.GoogleApiClient, java.util.Set<com.google.android.gms.drive.DriveId>)">
DriveResource.setParents()</a> method makes it possible to organize files
and folders. In addition, the
<a href="{@docRoot}reference/com/google/android/gms/drive/Contents.html">
<code>Contents</code></a>
class has been replaced with a
<a href="{@docRoot}reference/com/google/android/gms/drive/DriveContents.html">
<code>DriveContents</code></a> class that simplifies working with file
contents.
<ul>
<li><a href="https://developers.google.com/drive/release-notes"
class="external-link">Drive SDK release notes</a></li>
<li><a href="https://developers.google.com/drive/android/completion"
class="external-link">Completion events developer guide and Google
Developers video</a></li>
<li><a href="https://developers.google.com/drive/android/intro?hl=pt-PT#activity_builders"
class="external-link">Using the OpenFileActivity Builder</a></li>
</ul>
</li>
<li><strong>Tag Manager</strong> - Google Tag Manager now supports
<a href="https://developers.google.com/analytics/devguides/collection/android/v4/enhanced-ecommerce"
class="external-link">Enhanced Ecommerce</a> through the
<a href="https://support.google.com/tagmanager/answer/3281379"
class="external-link">Universal Analytics tag</a>.
<ul>
<li><a href="https://developers.google.com/analytics/devguides/collection/upgrade/"
class="external-link">Universal Analytics Upgrade Center</a></li>
<li><a href="https://developers.google.com/tag-manager/android/v4/"
class="external-link">Enhanced Ecommerce developer guide</a></li>
</ul>
</li>
<li><strong>Fit</strong> - The Google Fit developer preview, initially
<a href="http://googledevelopers.blogspot.com/2014/08/google-fit-preview-sdk-now-available.html"
class=""external-link>announced</a> in August, has been
refreshed to enable you to test your new fitness apps on any Android device.
<ul>
<li><a href="https://developers.google.com/fit/preview"
class="external-link">Google Fit developer guide</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/fitness/package-summary.html">
Fit API reference</a></li>
</ul>
</li>
</ul>
</dd>
</dl>
</div>
</div>
<div class="toggle-content closed">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-closed.png"
class="toggle-content-img"
alt=""/>Google Play services, Version 5.0</a> <em>(July 2014)</em>
</p>
<div class="toggle-content-toggleme">
<dl>
<dt>Highlights in Version 5.0</dt>
<dd>
<p>For a summary of the feature highlights in Google Play services 5.0, see the
announcement
<a href="http://android-developers.blogspot.com/2014/07/google-play-services-5.html"
class="external-link">blog post</a>.</p>
<ul>
<li><strong>Analytics</strong> - 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.
<ul>
<li><a href="https://developers.google.com/analytics/devguides/collection/android/v4/enhanced-ecommerce.html" class="external-link">Enhanced Ecommerce developer guide</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/analytics/ecommerce/package-summary.html">Enhanced Ecommerce API reference</a></li>
</ul>
</li>
<li><strong>App Indexing</strong> - 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
<a href="https://support.google.com/websearch/answer/106230"
class="external-link">query autocompletions</a>, providing fast and easy access to
inner pages in apps.
<ul>
<li><a href="https://developers.google.com/app-indexing/webmasters/appindexingapi.html"
class="external-link">App Indexing developer guide</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/appindexing/package-summary.html">App
Indexing API reference</a></li>
</ul>
</li>
<li><strong>Drive</strong> - The Query APIs now allow your app to retrieve
Drive files by sorted order, according to a developer-specified sorting criteria.
<ul>
<li><a href="https://developers.google.com/drive/android/queries.html"
class="external-link">Queries developer guide</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/drive/query/package-summary.html">Sortable
queries API reference</a></li>
</ul>
</li>
<li><strong>Play Games</strong> - 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.
<ul>
<li><a href="https://developers.google.com/games/services/android/quests.html"
class="external-link">Events and Quests developer guide</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/games/event/package-summary.html">Events
API reference</a></a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/games/quest/package-summary.html">Quests
API reference</a></a></li>
<li><a href="https://developers.google.com/games/services/android/savedgames.html"
class="external-link">Saved Games developer guide</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/games/snapshot/package-summary.html">Saved
Games API reference</a></a></li>
</ul>
</li>
<li><strong>Security</strong> - 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.
<ul>
<li><a href="{@docRoot}reference/com/google/android/gms/security/package-summary.html">Security
API reference</a></li>
</ul>
</li>
<li><strong>Wallet</strong> - 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.
<ul>
<li><a href="https://developers.google.com/wallet/objects/savetowalletnative.html"
class="external-link">Save to Google API for Android tutorial</a></li>
</ul>
</li>
<li><strong>Wearables</strong> - 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.
<ul>
<li><a href="{@docRoot}training/wearables/apps/index.html">Building
Wearable Apps training class</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/wearable/package-summary.html">Wearables
API reference</a></li>
</ul>
</li>
</ul>
</dd>
</dl>
</div>
</div>
<div class="toggle-content closed">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
alt=""/>Google Play services, Version 4.4</a> <em>(May 2014)</em>
</p>
<div class="toggle-content-toggleme">
<dl>
<dt>Highlights in Version 4.4</dt>
<dd>
<p>For a summary of the feature highlights in Google Play services 4.4, see the
announcement <a href="http://android-developers.blogspot.com/2014/05/google-play-services-44.html" class="external-link">blog post</a>.</p>
<ul>
<li><strong>Maps</strong> - New features for Street View and enhanced control of
Indoor Maps.
<ul>
<li><a href="http://developers.google.com/maps/documentation/android/streetview.html" class="external-link">Street View developer guide</a> - Add Street View to your app and programmatically control
the user’s experience.
<li><a href="http://developers.google.com/maps/documentation/android/map.html#indoor_maps" class="external-link">Indoor Maps developer guide</a> - Customize the level picker
and specify the active level of a building.</a>
</ul>
</li>
<li><strong>Activity recognition</strong> - The Location API has been updated with new activity detectors for running and walking.
<ul>
<li><a href="{@docRoot}reference/com/google/android/gms/location/DetectedActivity.html"><code>DetectedActivity</code> class reference</a>
</ul>
</li>
<li><strong>Mobile Ads</strong> - The new in-app purchase APIs allow
publishers to display in-app purchase ads, which enables users to purchase
advertised items directly.
<ul>
<li><a href="https://developers.google.com/mobile-ads-sdk/docs/admob/advanced#play-inapppurchaselistener" class="external-link">In-app purchase APIs developer guide</a> -
Enable in-app purchases via ads by using the in-app purchase APIs.
<li><a href="{@docRoot}reference/com/google/android/gms/ads/purchase/package-summary.html">In-app purchase API reference</a>
</ul>
</li>
<li><strong>Wallet Fragment</strong> - The new Wallet Fragment API allows you
to easily integrate Google Wallet Instant Buy with an existing app.
<ul>
<li><a href="http://developers.google.com/wallet/instant-buy/android/tutorial.html#about_walletfragment" class="external-link">About Wallet Fragment</a> - Tutorial showing how to
use wallet fragment to handle user events and to automate key parts of the purchase lifecycle.
<li><a href="http://developers.google.com/wallet/instant-buy/diagrams.html#detailed_api_process_flow" class="external-link">Detailed API process flow</a></a>
</ul>
</li>
</ul>
</dd>
</dl>
</div>
</div>
<div class="toggle-content closed">
<p><a href="#" onclick="return toggleContent(this)">
<img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
alt=""/>Google Play services, Version 4.3</a> <em>(March 2014)</em>
</p>
<div class="toggle-content-toggleme">
<dl>
<dt>Highlights in Version 4.3</dt>
<dd>
<p>For a summary of the feature highlights in Google Play services 4.3, see the
announcement <a href="http://android-developers.blogspot.com/2014/03/google-play-services-43.html" class="external-link">blog post</a>.</p>
<ul>
<li><strong>Play Games</strong> - The new Game Gifts API enables games to send virtual in-game requests to anyone in a player’s circles or through player search.
<ul>
<li><a href="http://developers.google.com/games/services/android/giftRequests.html" class="external-link">Developing Game Gifts in Android</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/games/request/package-summary.html">Game Gifts API reference</a></li>
</ul>
</li>
<li><strong>Analytics</strong> - Google Analytics and Tag Manager are now part of Google Play services.
<ul>
<li><a href="http://developers.google.com/analytics/devguides/collection/android/v4/" class="external-link">Getting Started with the Analytics API in Android</a></li>
<li><a href="/reference/com/google/android/gms/analytics/package-summary.html">Analytics API reference</a></li>
<li><a href="http://developers.google.com/tag-manager/android/" class="external-link">Getting Started with the Tag Manager API in Android</a></li>
<li><a href="{@docRoot}reference/com/google/android/gms/tagmanager/package-summary.html">Tag Manager API reference</a></li>
</ul>
</li>
<li><strong>Drive</strong> - Change notifications, offline content, and more.
<ul>
<li><a href="http://developers.google.com/drive/android/pinning.html" class="external-link">Pinning Files</a> - Make files available offline.</li>
<li><a href="http://developers.google.com/drive/android/events.html" class="external-link">Listening for Change Events</a> - Receive notifications for change events asynchronously.</li>
<li><a href="http://developers.google.com/drive/android/appfolder.html" class="external-link">Storing Application Data</a> - Store application data in a special hidden folder.</li>
</ul>
</li>
<li><strong>Address</strong> - Let your users provide complete addresses in a single click.
<ul>
<li><a href="{@docRoot}reference/com/google/android/gms/identity/intents/package-summary.html">Address API reference</a> </li>
</ul>
</li>
</ul>
</dd>
</dl>
</div>
</div>
<h2>How It Works</h2>
<h4 id="client-lib">The Google Play services client library</h4>
<p>
The client library contains the interfaces to the individual Google
services and allows you to obtain authorization from users to gain access
to these services with their credentials. It also contains APIs that allow
you to resolve any issues at runtime, such as a missing, disabled, or out-of-date
Google Play services APK. The client library has a light footprint if you use
<a href="/tools/help/proguard.html">ProGuard</a> as part of your build process, so it won't have
an adverse impact on your app's file size.
</p>
<p>
If you want to access added features or products, you can upgrade to a new version of the
client library as they are released. However, upgrading is not
necessary if you don't care about new features or bug fixes.
We anticipate more Google services to be continuously added, so be on the lookout for
these updates.
</p>
<div class="vspace size-2">&nbsp;</div>
<div class="layout-content-row">
<div class="layout-content-col span-6">
<h4 id="apk">The Google Play services APK</h4>
<p>
The Google Play services APK contains the individual Google services and runs
as a background service in the Android OS. You interact with the background service
through the client library and the service carries out the actions on your behalf.
An easy-to-use authorization flow is also
provided to gain access to the each Google service, which provides consistency for both
you and your users.
</p>
<p>
The Google Play services APK is delivered through the Google Play Store, so
updates to the services are not dependent on carrier or OEM system image updates. In general, devices
running Android 2.3 (Gingerbread) or later and have the Google Play Store app installed receive updates within a
few days. This allows you to use the newest APIs in Google Play services and reach most of the
devices in the Android ecosystem (devices older than Android 2.3 or devices without the Google
Play Store app are not supported).
</p>
</div>
<div class="layout-content-col span-6">
<img src="/images/play-services-diagram.png" />
<p class="img-caption"><em>The Google Play services APK on user devices receives regular updates
for new APIs, features, and bug fixes.</em></p>
</div>
</div>
<h4 id="benefits">The benefits for your app</h4>
<p>Google Play services gives you the freedom to use the newest APIs for popular
Google services without worrying about device support. Updates to Google Play
services are distributed automatically by the Google Play Store and new versions
of the client library are delivered through the Android SDK Manager. This makes it
easy for you to focus on what's important: your users' experience.</p>
<p>To get started, <a href="{@docRoot}google/play-services/setup.html">set up</a> the SDK and check out
the various products in the Google Play services platform now!</p>