Не грузит google maps api в приложении android. Как решить

Делал приложение на android с использованием API google maps. В debug версии все работало, на эмуляторе тоже. Карты грузились как надо. На реальном устройстве debug и release версии тоже отображали карты. Но потом после загрузки в маркет это приложение перестало отображать карты.

Как решить эту проблему — читайте в статье.

Описание проблемы

Карты грузятся и показываются как надо до загрузки в маркет. То есть, debug, release версии на реальных устройствах, эмуляторах и веб-страничках (для теста) показывают карту.

Если качаешь приложение с маркета — карты не грузятся. Хотя с тем же токеном гугл карт другие приложения работают.

Что я только не делал — выпускал обновления, делал другое приложение.

Причины почему не загружается api google maps

Я думал что это лимиты или защита по имени пакета. Google объявили, что при определенном количестве запросов пользование картами становится платным. Но у меня не было даже сотни запросов.

Количество запросов к гугл карте за неделю в моем приложении
Количество запросов к гугл карте за неделю в моем приложении

Искал пути решения, решил добавить карту (подойдет виртуальная). Потому что меня смущала надпись: «Before you begin: Before you start using the Maps SDK for Android, you need a project with a billing account and the Maps SDK for Android enabled. To learn more, see Get Started with Google Maps Platform.»

Списывают 1 доллар, спустя пару минут возвращают. Но это не решило проблему. Значит, причина в другом.

Вспоминаю, что я генерировал хеш для защиты по имени пакета. Чтобы не было предупреждения об уязвимости ключа.

Уведомление об уязвимости ключа в google maps api
Уведомление об уязвимости ключа в google maps api

Делал и для дебаг, и для релиз версий. Сверил ключи — все правильно. Решил отключить ограничения — и все заработало. Значит причина здесь.

Способы решения когда не грузятся карты гугл

А основной причиной стало то, что google подписывает своим сертификатом приложения при загрузке, если вы не отключили это. То есть поменялся сертификат и естественно хеш-сумма.

Нужно заново генерировать новый ключ и добавлять в ограничения в Настройках API Google Maps. Или просто отключить ограничения.

После этого все заработало, обновлять приложение в маркет не нужно было. Обратите на это внимание, если грузите на маркет и гугл подписывает своим сертификатом приложение. Я убрал все ограничения, и карты заработали.

Если у вас была подобная проблема, напишите как вы ее решили.

0 Comments

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *