Сказ о том, как Google тарификацию меняли, или как избежать ненужных затрат +7


Всем привет. На одном из web-проектов мы используем Maps JavaScript API, но после изменения тарификации с 16 июля 2018 года кое-что пошло не так. Делимся опытом, чтобы этого не случилось у вас.

Итак, по порядку.

Что имеем


  1. Google в рамках сервисов cloud.google.com предоставляет возможность использования разных API. Их много, перечислять все нет смысла — но мы используем именно Maps JavaScript API cloud.google.com/maps-platform/maps.
  2. Управление сервисами API производится через вполне понятный GUI с дашбордом используемых сервисов console.cloud.google.com/home/dashboard
  3. Интеграция для разных клиентов производится по-разному. В нашем случае достаточно просто разместить JS-виджет согласно developers.google.com/maps/documentation/javascript/tutorial

C 16 июля 2018 года условия тарификации превратились в следующие — клац.

Если вкратце — то тарификация происходит в рамках некоторых «продуктовых наборов» (по сути — комбинация из API), а каждый продуктовый набор может тарифицироваться по-своему в рамках отдельных условий. Ежемесячно выделяется безвозмездно кредит в 200$, который учитывается при тарификации сервисов.

Условия приняты, карта к платёжному аккаунту подвязана, поехали. Все скриншоты сделаны из консоли, проект один и тот же, замазан по NDA.

Весёлые картинки


Вводная 1 — общий вид панели управления для используемого Maps JavaScript API

image

Вводная 2 — используемые методы, которыми мы можем управлять из консоли.

image
image

Вводная 3 — показатели по использованию

image

Вводная 4 — отчёт по тарификации

image

Почитав описание, обращаемся в поддержку Google, так как Maps and Street View API мы никак не подключали. Получаем ответ дословно:

I would like to clarify that the Maps and Street View Dynamic Maps that you are seeing in your Payment transactions is simply the Maps Javascript API Dynamic Maps and not the Street View API. Maps and Street View API is the old name of Maps Javascript API. I would like to clarify that you are not charged for the Street View API usage but, it's for Maps Javascript API usage instead.

Не сдаёмся и пытаемся разобраться дальше, получаем вот такое уточнение:

image

Параллельно читаем документ ещё раз и находим следующее (читаем в т.ч. абзац над табличкой):

image

Ну не разобрались сами в тарификации, в чём мораль?


Мораль сей басни такова, что

  1. Ранее Street View API подключалось отдельно (и на самом деле и сейчас в консоли можно его подключить отдельно, но никак не отключить). Сейчас это по сути, часть Maps Javascript API (хоть и тарифицируется как отдельный API). И если вы по каким-то причинам это не учли и ориентировались на тарификацию либо по калькулятору, либо по описанию отсюда и не учли использование и тарификацию по Street View API — будьте готовы обнаружить незапланированные затраты.
  2. Кроме этого, алерты по бюджетам работают в т.ч. с учётом предоставляемого кредита в 200$. Т.е. при выставлении алертов обязательно это учитывайте.
  3. Если вам не нужно давать возможность панорамного просмотра улиц в картах — просто уберите вызов этих методов.
  4. Ограничить вызов Street View API (на уровне использования ключа или консоли) кроме логики самих вызовов на клиенте никак нельзя.




К сожалению, не доступен сервер mySQL