**Шаг 1: Подготовка и создание проекта в Google Cloud Console.**
Прежде чем писать код, необходимо зарегистрировать ваше приложение в Google. Зайдите в [Google Cloud Console](https://console.cloud.google.com/). Создайте новый проект или выберите существующий. Запомните его **Project ID**. Затем перейдите в раздел «APIs & Services» > «Library». Здесь вам нужно найти и включить необходимые API. Для стартапа базовым набором часто являются: Google Maps SDK for Android, Firebase Cloud Messaging API, Google Sign-In API. Включите только те, которые вам действительно нужны сейчас.
**Шаг 2: Настройка учетных данных и SHA-1 отпечатка.**
Без этого шага сервисы вроде Google Sign-In или Maps не будут работать. В том же разделе «APIs & Services» перейдите в «Credentials». Нажмите «+ CREATE CREDENTIALS» и выберите «OAuth client ID». Вам будет предложено выбрать тип приложения — «Android». Появится форма, где нужно указать:
- **Name** (например, «My Startup App Android»).
- **Package name** — точный package name из вашего `build.gradle` файла модуля приложения (`applicationId`). Это уникальный идентификатор, его нельзя изменить позже без создания новых учетных данных.
- **SHA-1 signing-certificate fingerprint** — это самый важный и часто пропускаемый пункт.
`keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android`
Для Windows путь к keystore: `%USERPROFILE%\.android\debug.keystore`.
Найдите в выводе строку «SHA1:» и скопируйте отпечаток (без двоеточий, в нижнем регистре). Вставьте его в форму в консоли. Для **release-версии** (которая пойдет в магазин) вам понадобится SHA-1 от вашего release keystore, который вы создадите позже. Пока можно добавить debug-отпечаток, а release добавить перед публикацией.
Создайте учетные данные. Запишите или скачайте JSON-файл с `client_id`. Он понадобится позже.
**Шаг 3: Настройка проекта Android Studio и добавление зависимостей.**
Откройте `build.gradle` файл уровня проекта (корневой). Убедитесь, что в блоке `buildscript` > `dependencies` есть классpath Google Services (это обязательно для работы с Firebase, который теперь является основным путем для многих GPS):
`classpath 'com.google.gms:google-services:4.4.0'` (уточните актуальную версию).
Затем откройте `build.gradle` файл модуля приложения (app-level). В самом начале файла добавьте плагин:
`apply plugin: 'com.google.gms.google-services'`.
В блок `dependencies` добавьте необходимые библиотеки. Например, для карт и сервисов местоположения:
`implementation 'com.google.android.gms:play-services-maps:18.2.0'`
`implementation 'com.google.android.gms:play-services-location:21.0.1'`
Для аутентификации:
`implementation 'com.google.android.gms:play-services-auth:20.7.0'`
Всегда используйте последние стабильные версии. После добавления синхронизируйте проект (Sync Now).
**Шаг 4: Добавление файла конфигурации `google-services.json`.**
Это ключевой файл, связывающий ваше приложение с проектом в Google Cloud. После создания учетных данных OAuth (Шаг 2) или после настройки Firebase (рекомендуемый путь) вы можете скачать `google-services.json`. В консоли перейдите в «Firebase» (или создайте проект Firebase, связанный с вашим Cloud-проектом). В настройках проекта Firebase добавьте Android-приложение, указав package name и SHA-1. Затем скачайте файл `google-services.json`.
Поместите этот файл в корневую папку модуля вашего приложения (обычно `app/`). **ВАЖНО:** Никогда не коммитьте release-версию этого файла с реальными ключами в публичный репозиторий. Используйте `.gitignore`. Для разных сред (debug/release) можно настраивать разные файлы.
**Шаг 5: Базовая настройка манифеста и разрешений.**
В `AndroidManifest.xml` вам нужно добавить необходимые разрешения и метаданные. Для карт вам понадобится разрешение на интернет и (опционально) точное местоположение:
``
``
Также внутри тега `` нужно добавить метаданные для API-ключа Maps (который автоматически сгенерируется из `google-services.json`):
``
Обратите внимание: значение берется из строкового ресурса. Файл `google-services.json` автоматически создаст эти значения в сгенерированном файле `values/google-services.xml` вашего проекта. Не копируйте ключ вручную.
**Шаг 6: Проверка подключения и обработка ошибок.**
Соберите и запустите приложение. Первым делом проверьте логи (Logcat) на наличие ошибок, связанных с GoogleApiClient или доступностью сервисов. Частая ошибка на этом этапе — `API_KEY_INVALID` или `SHA-1 not registered`. Это значит, что отпечаток сертификата, которым подписано запущенное приложение, не совпадает с тем, что зарегистрирован в Cloud Console. Убедитесь, что вы используете правильный keystore (debug/release) и добавили все SHA-1.
**Шаг 7: Публикация и настройка release-ключей.**
Перед сборкой APK/AAB для публикации в Google Play вы должны создать свой собственный release keystore (не используйте debug!). Сгенерируйте его через Android Studio (Build > Generate Signed Bundle/APK) или командой `keytool`. Получите SHA-1 и SHA-256 этого keystore и **обязательно добавьте их в ваши учетные данные в Google Cloud Console** в том же OAuth client ID (можно добавить несколько отпечатков). Также обновите их в настройках приложения в Firebase Console. Без этого ваше release-приложение не сможет использовать Google Play Services.
Интеграция Google Play Services может показаться запутанной из-за количества шагов, но следуя этой инструкции системно, вы минимизируете риски. Главные принципы для стартапа: начните с минимального набора API, тщательно настройте отпечатки сертификатов и используйте Firebase Console как единую точку управления для большинства сервисов — это значительно упростит жизнь на ранних этапах.
Комментарии (13)