Как это выглядит
У сети студий есть мобильное приложение. Разработчик ушёл. Приложение опубликовано, но две попытки обновления подряд отклонила модерация, рекламный кабинет не может подтвердить доступ к приложению, и никто в компании не может ответить, как выпустить новую версию.
Самое неприятное открылось, когда начали разбираться: у компании нет ничего, чем приложение подписывается. Искали на рабочих компьютерах, на всех серверах, во всей истории репозитория — ноль.
Почему так происходит
Мобильное приложение — это не только код. Магазин примет обновление, только если оно подписано тем же ключом, что и прошлая версия. Ключ — это файл с паролем, и обычно он лежит у того, кто собирал приложение. Код в репозитории компании при этом может быть в полном порядке — и это создаёт ложное спокойствие.
Вокруг ключа есть ещё слой того, что тоже «у разработчика»: сервис сборки, трекер установок, настройки, которые не попали в репозиторий. В нашем случае релизы собирались вручную на личной машине — автоматическая сборка ни разу не была достроена. Часть правок осталась только в собранном файле, в коде компании её не было. А трекер установок жил в чужом личном аккаунте, поэтому рекламный кабинет и не мог подтвердить права на приложение.
Цена вопроса: без одного файла на чужом компьютере обновление в Google Play выпускается только через сброс ключа в консоли — и только если заранее включена подпись на стороне Google. Если не включена, остаётся новое приложение, которое каждому клиенту придётся переустановить.
Что мы сделали
Сначала проверили, что на самом деле принадлежит компании: кто владеет аккаунтами магазинов, у кого есть доступ к облачному проекту и сервису сборки. Посторонних не оказалось — это сняло главный страх.
Получили подписи от разработчика и не поверили на слово: отпечаток ключа сверили с подписью уже опубликованных версий. На руках оказалось два ключа, и подписать не тем значило бы получить отказ магазина и обновление, которое не встанет у текущих пользователей.
Достроили автоматическую сборку на аккаунтах компании — теперь релиз не зависит от чьего-то ноутбука. Завели свой трекер установок и связали его с рекламным кабинетом. Новая версия вышла в RuStore и в Google Play.
Что остаётся за кадром
Что забрать у разработчика до расставания, как проверить, что вам отдали настоящие ключи, в каком порядке снимать доступы, чтобы не отрезать себе путь к обновлениям, — зависит от того, как собрано ваше приложение.
Проверяем это вместе на созвоне: за час становится понятно, чем вы владеете, а что только кажется вашим.