6c1c263efa
Change-Id: Ic2f603c0215f8dadac2dfa4b871b22b2f9a027e5
707 lines
36 KiB
Plaintext
707 lines
36 KiB
Plaintext
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="cols">
|
||
<div class="col-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="col-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="col-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.3</a> <em>(April 2015)</em>
|
||
</p>
|
||
|
||
<div class="toggle-content-toggleme">
|
||
<dl>
|
||
<dt>Highlights in Version 7.3</dt>
|
||
<dd>
|
||
<p>For a summary of the feature highlights in Google Play services 7.3, see the
|
||
announcement
|
||
<a href="http://android-developers.blogspot.com/2015/04/theres-lot-to-explore-with-google-play.html"
|
||
class="external-link">blog post</a>.</p>
|
||
<ul>
|
||
<li>
|
||
<strong>Wear</strong> - 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 <a href="{@docRoot}reference/com/google/android/gms/wearable/CapabilityApi.html">
|
||
{@code CapabilityApi}</a> class. The new
|
||
<a href="{@docRoot}reference/com/google/android/gms/wearable/ChannelApi.html">{@code ChannelApi}</a>
|
||
class 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.
|
||
<ul>
|
||
<li><a href="{@docRoot}training/wearables/data-layer/messages.html">
|
||
Sending and Receiving Messages</a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<strong>Fit</strong> - This release provides a new
|
||
<a href="{@docRoot}reference/com/google/android/gms/fitness/HistoryApi.html#readDailyTotal(com.google.android.gms.common.api.GoogleApiClient,%20com.google.android.gms.fitness.data.DataType)">
|
||
{@code HistoryApi.readDailyTotal()}</a> 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.
|
||
<ul>
|
||
<li><a href="https://developers.google.com/fit/android/history#read_daily_total_data"
|
||
class="external-link">Read daily total API developer guide</a></li>
|
||
<li><a href="https://developers.google.com/fit/android/data-types#data_types_for_instantaneous_readings"
|
||
class="external-link">Nutrition data type developer guide</a></li>
|
||
<li><a href="{@docRoot}reference/com/google/android/gms/fitness/data/Field.html">
|
||
Nutrition data types API reference</a></li>
|
||
<li><a href="https://developers.google.com/fit/android/releases#april_2015"
|
||
class="external-link">Release notes</a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<strong>Location</strong> - This release adds a maximum wait time for location updates. By
|
||
calling the new
|
||
<a href="{@docRoot}reference/com/google/android/gms/location/LocationRequest.html#setMaxWaitTime(long)">
|
||
{@code setMaxWaitTime()}</a> method and passing in a value at least double the value requested with
|
||
the
|
||
<a href="{@docRoot}reference/com/google/android/gms/location/LocationRequest.html#setInterval(long)">
|
||
{@code setInterval()}</a> method, the system can batch location updates together, reducing battery
|
||
usage and, on some devices, improving location accuracy. In addition, you can use the new
|
||
<a href="{@docRoot}reference/com/google/android/gms/location/LocationCallback.html">
|
||
{@code LocationCallback}</a> class to be notified when the device location has changed or can no
|
||
longer be determined.
|
||
</li>
|
||
<li>
|
||
<strong>Places</strong> - This release adds a
|
||
<a href="{@docRoot}reference/com/google/android/gms/location/places/PlaceBuffer.html#getAttributions()">
|
||
{@code PlaceBuffer.getAttributions()}</a> method for displaying third-party attributions.</a>
|
||
<ul>
|
||
<li><a href="https://developers.google.com/places/android/attributions"
|
||
class="external-link">Displaying attributions developer guide</a></li>
|
||
<li><a href="https://developers.google.com/places/android/releases">Release notes</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 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="{@docRoot}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"> </div>
|
||
|
||
<div class="cols">
|
||
<div class="col-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="col-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>
|