Открыть сервисСервис

Публикация приложений с картами в Google Play

Публикация приложений с картами в Google Play — процесс размещения мобильного приложения, использующего картографические сервисы Google, в магазине Google Play. Под «привязкой карты» обычно понимается интеграция Google Maps SDK в Android-приложение и его последующая публикация с корректной конфигурацией ключей API, манифеста и разрешений.

Google Maps SDK для Android

Для работы карт в Android-приложении используется Google Maps SDK for Android — проприетарная библиотека от Google, предоставляющая доступ к данным Google Maps, элементам управления (зум, компас, текущее положение), маркерам, полигонам, линиям и другим объектам картографического отображения.

Основные компоненты SDK:

  • MapView или SupportMapFragment — контейнеры для отображения карты в интерфейсе приложения;
  • GoogleMap — основной объект, управляющий состоянием карты (камера, слои, обработчики событий);
  • Marker, Polyline, Polygon — объекты нанесения данных на карту.

Получение ключа API

Для доступа к Google Maps Platform требуется ключ API, привязанный к проекту в Google Cloud Console. Порядок действий:

  1. Создание проекта в Google Cloud Console (console.cloud.google.com).
  2. Включение API «Maps SDK for Android» в разделе «Библиотеки».
  3. Создание учётных данных типа «Ключ API» с ограничением по пакету Android-приложения (SHA-1 отпечаток) и имени пакета.
  4. Указание ключа в файле AndroidManifest.xml внутри элемента <meta (организация признана экстремистской, деятельность запрещена в РФ)-data> с именем com.google.android.geo.API_KEY.

Google рекомендует ограничивать ключи: указывать отпечаток SHA-1 и имя пакета, чтобы ключ нельзя было использовать в сторонних приложениях. Для отладки используется отпечаток debug-ключа (~/.android/debug.keystore), для релизной сборки — отпечаток release-ключа, которым подписывается публикуемый APK или AAB.

Подключение SDK в проекте

Современный способ подключения — через Google Play Services Gradle-плагин:

```gradle plugins { id 'com.android.application' id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }

dependencies { implementation 'com.google.android.gms:play-services-maps:19.0.0' } ```

В AndroidManifest.xml добавляется разрешение INTERNET и, при необходимости, ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION для определения местоположения пользователя.

Подготовка к публикации в Google Play

Публикация приложения с картами в Google Play требует соблюдения ряда требований магазина:

Формат пакета

С 2021 года Google Play принимает только формат Android App Bundle (AAB) для новых приложений. APK остаётся допустимым для обновлений ранее опубликованных приложений.

Конфигурация ключа API в релизе

Для публикации ключ API должен быть создан с указанием SHA-1 релизного ключа подписи. Google Play App Signing — обязательная программа для новых разработчиков: при её использовании Google хранит релизный ключ и подписывает пакет от имени разработчика. SHA-1 подписи Google Play можно найти в разделе «Настройки» → «Приложение» → «Сертификаты подписи приложения» в консоли разработчика Google Play.

Разрешения и конфиденциальность

Google Play требует указывать в декларации конфиденциальности, какие данные собираются и как используются. Приложение, запрашивающее доступ к геолокации, обязано иметь политику конфиденциальности и заполнять форму Data Safety в консоли Play Console.

Тестирование

Перед публикацией необходимо пройти внутреннее и закрытое тестирование. Google Play Console предоставляет программы внутреннего тестирования (до 100 тестировщиков), закрытого тестирования (до 100 тестировщиков на 14 дней) и открытого тестирования (до 1000 тестировщиков).

Стоимость и квоты

Google Maps Platform предоставляет ежемесячный грант в 200 долларов США на бесплатное использование API для проектов, привязанных к платёжному аккаунту. Превышение гранта тарифицируется по прайсу Google Maps Platform. Для приложений с низкой нагрузкой гранта, как правило, достаточно.

Типичные ошибки

ПроблемаПричина
Карта отображается пустойНеверный или отсутствующий ключ API, не включён Maps SDK for Android
API key not validКлюч не ограничен SHA-1 и именем пакета, либо указан неверный отпечаток
Карта работает в debug, но не в releaseИспользуется debug SHA-1, а релизная сборка подписана другим ключом
Приложение отклонено при модерацииОтсутствует политика конфиденциальности при запросе геолокации

Альтернативы

Помимо Google Maps, в Android-приложениях применяются OpenStreetMap (через библиотеки osmdroid, MapLibre), Яндекс.Карты (Яндекс.Карты SDK), 2ГИС. В России и ряде стран СНГ альтернативные провайдеры часто используются в силу ограничений или требований локализации данных.

Источники:

  • Документация Google Maps Platform (developers.google.com/maps)
  • Документация Android Developers (developer.android.com)
  • Справка Google Play Console (support.google.com/googleplay/android-developer)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru