page.title=Overview
@jd:body

<p>
Google Play services is a platform delivered by the Google Play Store that offers integration with Google products,
such as Google+, in Android apps. The Google Play services platform consists of a services component that runs on
the device and a thin client library that you package with your app. The following diagram shows the interaction
between the two components:
</p>

<img src="{@docRoot}images/play-services-diagram.png" />

<p>
    The Google Play services component is delivered as an APK through the Google Play Store, so
    updates to Google Play services are not dependent on carrier or OEM system image updates. Newer
    devices will also have Google Play services as part of the device's system image, but updates
    are still pushed to these newer devices through the Google Play Store. In general, devices
    running Android 2.2 (Froyo) or later that have the Google Play Store receive updates within a
    few days. This allows you to leverage the newest APIs for Google products and reach most of the
    devices in the Android ecosystem. Devices older than Android 2.2 or devices without the Google
    Play Store app are not supported.
</p>

<p>
    The Google Play services component contains much of the logic to communicate with the specific
    Google product that you want to interact with. An easy-to-use authentication flow is also
    provided to gain access to supported Google products, which provides consistency for both the
    developer and user. From the developer's point of view, requesting credentials is mostly taken
    care of by the services component through calls to the client library. From the user's point of
    view, authorization is granted with a few simple clicks.
</p>

<p>
    The client library contains the interfaces to call into the services component. 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
    ProGuard as part of your build process, so it won't have an adverse impact on your app's file size. See the
    <a href="{@docRoot}google/play-services/overview.html">Downloading and Configuring the Google Play services SDK</a> for more
    information on how to configure
    <a href="{@docRoot}tools/help/proguard.html">ProGuard</a>.
</p>

<p>
    If you want to access added features or products that are periodically added to the client
    library, you can upgrade to a new version as they are released. However, upgrading is not
    necessary if you don't care about new features or bug fixes in the new versions of the client
    library. We anticipate more Google services to be continuously added, so be on the lookout for
    these updates.
</p>