Недавно я заинтересовался использованием геолокации в приложениях Android. В процессе поисков информации на эту тему выяснилось, что нужно использовать Google Play Services. Но для начала разработки необходимо подключить эту библиотеку в свой проект в IDE. После длительных поисков я нашёл на мой взгляд одну из самых полных и подробных инструкций по интеграции Google Play Services в Android.
Ниже приведён мой перевод данной статьи.
С помощью интеграции вашего Android приложения с Google Play Services Вы получаете доступ к таким сервисам Google, как Maps, Drive, and Google+. Один раз настроив ваши приложения доступ к этим сервисам и их использование становится обычным делом. Процесс установки требует всего несколько шагов, но Вам нужно позаботиться об этом всего один раз. В этом уроке мы пройдём процесс интеграции Google Play Services с Android приложениями.
Вступление
На протяжении всего урока мы расскажем, что Вам нужно делать для того, что бы интегрировать приложения с Play Services в Eclipse и Android Studio. Вам понадобится доступ к Google Developer Console и Keytool utility.
После того, как Вы настроите Play Services процесс разработки будет определяться тем, что Вы хотите, что бы ваши приложения делали. Процедура установки остаётся той-же. При использовании client library для доступа к сервисам платформы ваши приложения только выиграют от автоматических обновлений через Play Store.
1. Установите Play Services в ваше IDE
Шаг 1
Откройте ваше IDE и запустите Android SDK Manager. В Eclipse выберите Window > Android > SDK Manager. В Android Studio нажмите кнопку SDK Managerна панели инструментов. Опуститесь вниз списка, раскройте папку Extras и выберите Google Play Services.

Нажмите install the package и accept the license когда будет предложено это сделать. Если Вы разрабатываете в Android Studio, то Вам так-же нужно установить Google Repository.
Шаг 2
Когда Вы тестируете свои приложения, в которых Вы используете Google Play Services APIs, то идеальным было бы запускать их на реальных устройствах. Тем не менее, возможно тестирование и в эмуляторе. Для этого Вам нужно установить Google APIs Platform. Вы найдёте это внутри директории для каждого API уровня 17 и выше.

Найдите платформу в вашем SDK Manager,установите её и примите условия лицензии. Когда создаёте AVD (Android Virtual Device) для тестирования Google Play Services, выберите Google APIs в качестве target.
Шаг 3
Если Вы ведёте разработку в Eclipse, то Вам нужно будет скопировать Play Services library в ваш workspace. Для начала найдите её на вашем компьютере, используя файловый менеджер. Вы найдёте её в папке, в которую Вы загрузили ваш Android SDK, далее
/extras/google/google_play_services/libproject/google-play-services_lib/
.
Скопируйте её в то место на вашем компьютере, которое Вы используете для файлов разработки под Android. Как только вы откомпилируете библиотеку (вы должны скопировать), вернитесь в Eclipse. Выберите Import из меню File. Откройте папку Android, выберите Existing Android Code Into Workspace, и нажмите Next.

Нажмите кнопку Browse и перейдите в то место, в которое вы скопировали Play Services library. Выберите папку, которую вы скопировали и нажмите Finish, что бы импортировать её. Пакет появится в вашем Package Explorer.

2. Создайте Android Project
Шаг 1
Сейчас вы можете начать разработку с Play Services resources. Создайте новый проект в вашей IDE. Как только вы сделаете это, вам нужно будет связать его с Play Services resources.
В Android Studio вам нужно добавить build rule в build.gradle файл в модуле для вашего проекта. В
dependencies
секции используйте следующий синтаксис.
1
| compile 'com.google.android.gms:play-services:4.1.32' |
Убедитесь, что вы используете в названии последнюю версию Play Services. Вам нужно будет обновить это обозначение, как только обновится версия библиотеки. Сохраните файл и нажмите кнопку Sync Project with Gradle Files.
В Eclipse выберите проект в вашем Package Explorer, нажмите правую кнопку или Project в меню и выберите Properties. Далее выберите Android option слева и нажмите Add в разделе Library.

Выберите библиотеку из pop-up окна и нажмите OK, что бы добавить её. Нажмите Apply, затем OK.

Шаг 2
Какую бы вы IDE не использовали, вам нужно добавить Play Services meta-data в ваш файл manifest. Откройте файл manifest проекта и добавьте элемент meta-data внутрь
application
элемента:
1
2
| < meta-data android:name = "com.google.android.gms.version" android:value = "@integer/google_play_services_version" /> |
Если вы используете Proguard, то вам нужно будет создать exception. Детальней смотрите Developer Guide. Для получения дополнительной информации по Google Play Services API проверьте Package Index.
3. Соединение с Play Services в вашем приложении
Шаг 1
Шаги, которые вы должны сделать в вашем приложении зависят от того, какую функциональность вы хотите реализовать с помощью Play Services.
The processing steps you need to take within your application code will depend on what functionality you want to implement with Play Services. В следующих разделах рассматриваются некоторые общие соображения и действия.
The processing steps you need to take within your application code will depend on what functionality you want to implement with Play Services. В следующих разделах рассматриваются некоторые общие соображения и действия.
Хотя обновление происходит через Google Play Store все-же желательно проверять, какая версия установлена на устройстве пользователя, прежде чем производить любые операции с Google Play Services.
Смотрите Implementing GCM Client пример в Developer Guide для ознакомления с тем, как встраивать эти проверки в класс
Activity
. Метод вызова isGooglePlayServicesAvailable
, который вы можете добавить в helper method, как показано в следующем примере:
1
2
3
4
| private boolean checkPlayServices() { int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable( this ); //... } |
Вы можете вызвать метод в
onCreate
, прежде чем создавать экземпляр GoogleAPIClient
, с помощью которого вы получаете доступ к Play Services resources и в onResume
. Если устройство пользователя не имеет требуемых установленных ресурсов, будет предложено установить их через Google Play Store.Шаг 2
После проверки уровня поддержки на устройстве пользователя вы можете создать экземпляр класса
GoogleAPIClient
, что бы воспользоваться Google Play resources. Следующий пример кода демонстрирует это и может быть включён в onCreate
:
1
2
3
4
5
6
| GoogleApiClient myClient = new GoogleApiClient.Builder( this ) .addApi(Plus.API) .addScope(Plus.SCOPE_PLUS_PROFILE) .addConnectionCallbacks( this ) .addOnConnectionFailedListener( this ) .build(); |
Это подготовит ваше приложение для доступа к сервисам Google+, как вы можете видеть из отрывка кода
Plus.API
. Строка addScope
будет меняться в зависимости от того, что будет делать ваше приложение. Этот код так-же устанавливает обратные вызовы для процесса подключения. Ваш класс может имплементировать следующий интерфейс:
1
| public class MainActivity extends Activity implements ConnectionCallbacks, OnConnectionFailedListener |
Тогда класс может имплементировать
onConnected
и onConnectionSuspended
обратные вызовы для обработки изменений связи с Play Services.
Для обработки ошибок соединения с Play Services, таких как в случае, если необходима регистрация пользователя ваш класс так-же может имплементировать
onConnectionFailed
, для доступа к стандартным методам для устранения типичных ошибок. Некоторые из этих методов будут вызывать метод onActivityResult
, когда пользователь возвращается в приложение, так что вы снова можете возобновить соединение.
В целом, ваш
Activity
класс должен соединиться с Play Services в onStart
и отсоединиться в onStop
с помощью класса GoogleAPIClient
, как показано в следующем примере:
1
| myClient.connect(); |
4. Использование Play Services Resources
Шаг 1
Для некоторых сервисов Play Services, включая Google+, вам нужно зарегистрироваться для доступа. Для этого зайдите в Google APIs Console, нажмите Create Project и введите имя. После создания проекта вы должны будете быть перенаправлены в проект в консоли.
Выберите APIs menu item, найдите Google+ API в списке и нажмите кнопку, что бы включить это. Статус должен измениться на ON после принятия лицензии. Нажатие на список API будет предоставлять вам обзор того, что вы можете с этим делать.
Шаг 2
Далее выберите Credentials и нажмите Create New Client ID. Установите Installed application radio button, выберите Android в качестве типа и введите подробности вашего проекта. Теперь вам необходимо использовать Keytool resource для генерации SHA1 сертификата.
В процессе разработки вы можете использовать debug keystore, введя следующий код в терминале:
1
| keytool -exportcert - alias androiddebugkey -keystore ~/.android /debug .keystore -list - v |
Вы должны убедиться, что это правильное расположение для вашего debug keystore. Если это не так, то измените путь. Когда вы будете выполнять данную команду, то вам будет предложено ввести пароль. Введите
android
для debug keystore должны быть введён fingerprint на терминале.
Скопируйте строку
Copy the
SHA1
и вставьте её в Signing certificate fingerprint box в консоли API.Copy the
SHA1
line and paste it into the Signing certificate fingerprint box in the APIs Console. Включите deep linking, если необходимо и нажмите кнопку, что бы создать ID. Enable deep linking if necessary and then click the button to create the ID.Появится раздел, озаглавленный Client ID for Android Application. Вам не нужно использовать ID в вашем приложении, но вы можете пожелать оставить его копию для ваших личных записей.Шаг 3
Перед тем, как вы можете вызвать Play Services APIs в коде вашего приложения вам нужно будет добавить соответствующие разрешения в файле manifest вашего проекта. Следующий код демонстрирует несколько типичных примеров использования, но вам нужно выбрать соответствующие разрешения для вашего собственного проекта:
1
2
3
| < uses-permission android:name = "android.permission.INTERNET" /> < uses-permission android:name = "android.permission.GET_ACCOUNTS" /> < uses-permission android:name = "android.permission.USE_CREDENTIALS" /> |
Теперь ваш проект должен быть сконфигурирован для вызова Play Services APIs, которые вам нужны. Вам нужно будет структурировать ваши классы
Activity
по разному, в зависимости от того, что делает ваше приложение. Ознакомьтесь с Developer Guide для более подробной информации об этом.
Не забудьте ознакомиться со следующими руководствами для начала работы с некоторыми доступными Play Services:
Если Google services, к которым вы хотите получить доступ не являются частью Play Services library, то вы можете получить к ним доступ, используя Google's REST API.
Заключение
Существует много возможностей с Google Play Services в приложениях Android. От игр до услуг определения местоположения, которые вы можете использовать, как существующие достоинства платформы к контексте вашего собственного интерфейса и функциональности.
Процесс установки может показаться слегка запутанным, но один раз сделав установку вы можете сосредоточиться на предоставлении этих сервисов вашим пользователям.
Источник: http://code.tutsplus.com
Источник: http://code.tutsplus.com
Комментариев нет:
Отправить комментарий