To develop an app using the Google Play services APIs, you need to set up your project with the Google Play services SDK. If you haven’t installed the Google Play services SDK yet, go get it now by following the guide toAdding SDK Packages.
To test your app when using the Google Play services SDK, you must use either:
- A compatible Android device that runs Android 2.3 or higher and includes Google Play Store.
- The Android emulator with an AVD that runs the Google APIs platform based on Android 4.2.2 or higher.
Add Google Play Services to Your Project
Select your development environment below and add Google Play services to your project by following the steps provided.
- Open the
build.gradle
file inside your application module directory.Note: Android Studio projects contain a top-level
build.gradle
file and abuild.gradle
file for each module. Be sure to edit the file for your application module. See Building Your Project with Gradle for more information about Gradle. - Add a new build rule under
dependencies
for the latest version ofplay-services
. For example:apply plugin: 'com.android.application' ... dependencies { compile 'com.google.android.gms:play-services:8.4.0' }
Be sure you update this version number each time Google Play services is updated.
Note: If the number of method references in your app exceeds the 65K limit, your app may fail to compile. You may be able to mitigate this problem when compiling your app by specifying only the specific Google Play services APIs your app uses, instead of all of them. For information on how to do this, see Selectively compiling APIs into your executable.
- Save the changes and click Sync Project with Gradle Files in the toolbar.
You can now begin developing features with the Google Play services APIs.
Selectively compiling APIs into your executable
In versions of Google Play services prior to 6.5, you had to compile the entire package of APIs into your app. In some cases, doing so made it more difficult to keep the number of methods in your app (including framework APIs, library methods, and your own code) under the 65,536 limit.
From version 6.5, you can instead selectively compile Google Play service APIs into your app. For example, to include only the Google Fit and Android Wear APIs, replace the following line in your build.gradle
file:
compile 'com.google.android.gms:play-services:8.4.0'
with these lines:
compile 'com.google.android.gms:play-services-fitness:8.4.0' compile 'com.google.android.gms:play-services-wearable:8.4.0'
Table 1 shows a list of the separate APIs that you can include when compiling your app, and how to describe them in yourbuild.gradle
file. Some APIs do not have a separate library; include them by including the base library. (This lib is automatically included when you include an API that does have a separate library.)
Table 1. Individual APIs and corresponding build.gradle
descriptions.
Google Play services API | Description in build. |
---|---|
Google+ | com. |
Google Account Login | com. |
Google Actions, Base Client Library | com. |
Google Address API | com. |
Google App Indexing | com. |
Google App Invites | com. |
Google Analytics | com. |
Google Cast | com. |
Google Cloud Messaging | com. |
Google Drive | com. |
Google Fit | com. |
Google Location, Activity Recognition, and Places | com. |
Google Maps | com. |
Google Mobile Ads | com. |
Mobile Vision | com. |
Google Nearby | com. |
Google Panorama Viewer | com. |
Google Play Game services | com. |
SafetyNet | com. |
Google Wallet | com. |
Android Wear | com. |
Note: ProGuard directives are included in the Play services client libraries to preserve the required classes. TheAndroid Plugin for Gradle automatically appends ProGuard configuration files in an AAR (Android ARchive) package and appends that package to your ProGuard configuration. During project creation, Android Studio automatically creates the ProGuard configuration files and build.gradle
properties for ProGuard use. To use ProGuard with Android Studio, you must enable the ProGuard setting in your build.gradle
buildTypes
. For more information, see the ProGuard guide.
Ensure Devices Have the Google Play services APK
As described in the Google Play services overview, Google Play delivers service updates for users on Android 2.3 and higher through the Google Play Store app. However, updates might not reach all users immediately, so your app should verify the version available before attempting to perform API transactions.
Because each app uses Google Play services differently, it’s up to you decide the appropriate place in your app to verify the Google Play services version. For example, if Google Play services is required for your app at all times, you might want to do it when your app first launches. On the other hand, if Google Play services is an optional part of your app, you can check the version only once the user navigates to that portion of your app.
You are strongly encouraged to use the GoogleApiClient
class to access Google Play services features. This approach allows you to attach an OnConnectionFailedListener
object to your client. To detect if the device has the appropriate version of the Google Play services APK, implement the onConnectionFailed()
callback method. If the connection fails due to a missing or out-of-date version of the Google Play APK, the callback receives an error code such as SERVICE_MISSING
, SERVICE_VERSION_UPDATE_REQUIRED
, orSERVICE_DISABLED
. To learn more about how to build your client and handle such connection errors, seeAccessing Google APIs.
Another approach is to use the isGooglePlayServicesAvailable()
method. You might call this method in theonResume()
method of the main activity. If the result code is SUCCESS
, then the Google Play services APK is up-to-date and you can continue to make a connection. If, however, the result code is SERVICE_MISSING
,SERVICE_VERSION_UPDATE_REQUIRED
, or SERVICE_DISABLED
, then the user needs to install an update. In this case, call the getErrorDialog()
method and pass it the result error code. The method returns a Dialog
you should show, which provides an appropriate message about the error and provides an action that takes the user to Google Play Store to install the update.
To then begin a connection to Google Play services (required by most Google APIs such as Google Drive, Google+, and Games), read Accessing Google APIs.