| Index: docs/google_play_services.md
|
| diff --git a/docs/google_play_services.md b/docs/google_play_services.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b526cb930e3c8d84b125cfa37426b36c9b1d5754
|
| --- /dev/null
|
| +++ b/docs/google_play_services.md
|
| @@ -0,0 +1,51 @@
|
| +# Google Play services in Chrome for Android
|
| +
|
| +[TOC]
|
| +
|
| +Google employee? See [go/chrome-gms](https://goto.google.com/chrome-gms) for
|
| +more info.
|
| +
|
| +## General setup
|
| +
|
| +The Google Play services are a combination of [services][play_store] exposed on
|
| +Android devices and [libraries][dev_doc] to interact with them. Chrome relies
|
| +on them for critical features like Sign in, Feedback or Cast.
|
| +
|
| +The standard way of adding the Google Play services as a dependency to a project
|
| +is to import it through the Android SDK manager as a Maven repository. That
|
| +repository contains multiple versions of the library split into separate APIs
|
| +(for example Cast, GCM, Android Pay, etc). To avoid downloading a lot of data we
|
| +don't need to build Chrome, android checkouts of Chromium download an archive
|
| +containing only the APIs we currently need in Chrome, and in a single version.
|
| +
|
| +The up to date list of clients and version used can be seen in
|
| +[//build/android/play_services/config.json][config_json_rel_path].
|
| +
|
| +**Note**: If you are working on a feature that requires different or more recent
|
| +APIs, you will need to locally download the Google Play services SDK repository.
|
| +
|
| +The simplest way to download the latest SDK is to run:
|
| +
|
| +```
|
| +$CHROMIUM_SRC/build/android/play_services/update.py sdk
|
| +```
|
| +
|
| +Check out the help of that script for more info.
|
| +
|
| +[play_store]: https://play.google.com/store/apps/details?id=com.google.android.gms
|
| +[dev_doc]: https://developers.google.com/android/guides/overview
|
| +[config_json_rel_path]: ../build/android/play_services/config.json
|
| +
|
| +## Adding a dependency on new APIs
|
| +
|
| +As explained above, the default checkout has access to only a specific set of
|
| +APIs during builds. If your CL depends on some APIs that are not included in the
|
| +build, you will need [file an issue][bug_link] to request an update of our
|
| +dependencies.
|
| +
|
| +Not doing so could make the CL fail on the trybots and commit queue. Even if it
|
| +passes, it might fail on the internal bots and result in the CL getting
|
| +reverted, so please make sure the APIs are available to the bots before
|
| +submitting.
|
| +
|
| +[bug_link]:https://bugs.chromium.org/p/chromium/issues/entry?labels=Restrict-View-Google,pri-1,Hotlist-GooglePlayServices&owner=dgn@chromium.org&os=Android
|
|
|