Передача приложения другому разработчику проходит спокойно, если вы забираете не только исходный код, но и всё, без чего этот код невозможно собрать и опубликовать: аккаунты App Store и Google Play, ключи подписи, сертификаты push, доступы к серверам, базе, аналитике и сторонним сервисам. Пропущенный пункт обнаруживается обычно в самый неудобный момент — когда нужно срочно выпустить исправление, а новая команда не может подписать сборку. Ниже — чек-лист по группам и порядок передачи, при котором релизы не останавливаются ни на день.
- Владельцем аккаунтов сторов, серверов и сервисов должна быть ваша компания, а не подрядчик или его сотрудник.
- Ключ подписи Android и доступ к аккаунту Apple — самые критичные пункты: без них обновление не выпустить.
- Код считается переданным, когда новая команда собрала из него ту же версию, что сейчас в сторе.
- Пока проверка не пройдена, старые доступы не отзываются.
Почему смена разработчика приложения останавливает релизы
Мобильное приложение — это не только код. Чтобы выпустить новую версию, нужно собрать её из исходников с правильными настройками, подписать ключом, загрузить в аккаунт разработчика и пройти ревью стора. Если хотя бы одно звено осталось у прежнего подрядчика, новая команда не может выпустить даже исправление опечатки.
Чаще всего проблемы возникают не из-за злого умысла, а из-за того, что при запуске аккаунты оформили «как быстрее»: на личный Apple ID разработчика, на почту студии, на карту менеджера. Через два года никто уже не помнит, где что лежит. Поэтому передачу стоит начинать с инвентаризации — её мы проводим в первую неделю, когда принимаем проект на поддержку и доработку приложения.
Аккаунты сторов: App Store Connect и Google Play Console
Идеальная ситуация — аккаунты разработчика оформлены на вашу компанию, а подрядчик работает в них с выданной ролью. Тогда при смене команды вы просто отзываете старые роли и выдаёте новые. Если же приложение опубликовано в аккаунте подрядчика, его нужно перенести в ваш: и Apple, и Google поддерживают передачу приложения между аккаунтами разработчиков, сохраняя отзывы, рейтинг и установки. Процедура требует действий с обеих сторон, поэтому её лучше пройти, пока отношения с прежним подрядчиком рабочие.
Аккаунт Apple Developer продлевается ежегодно — 99 $ в год, Google Play Console оплачивается разово — 25 $. Оба оформляются на вашу компанию. Правила переноса приложений у сторов время от времени меняются, поэтому порядок сверяйте с актуальной документацией Apple и Google на дату передачи.
Ключи подписи и сертификаты
Каждая версия Android-приложения подписывается ключом. Если в Google Play включена подпись приложений Google, основной ключ хранится у Google, а у разработчика есть ключ загрузки — его при утрате можно заменить через поддержку. Если же приложение подписывается собственным ключом без этой функции и ключ потерян, выпустить обновление того же приложения нельзя — придётся публиковать новое и терять установки и отзывы.
На iOS сертификаты и профили можно перевыпустить из аккаунта Apple, если у вас есть к нему доступ владельца. Отдельно проверьте ключ для push-уведомлений Apple и настройки в Firebase — без них после смены команды перестанут приходить уведомления.
Получить от подрядчика архив с кодом и считать передачу завершённой. Без файла ключа подписи Android, пароля к нему и доступа владельца к аккаунту Apple новая команда не выпустит обновление. Проверяйте ключи до подписания акта, а не после.
Исходный код приложения и репозиторий
Забирать нужно не архив, а репозиторий с историей изменений: по ней видно, что и когда менялось, и проще разбираться в ошибках. Убедитесь, что в репозитории лежит именно та версия, которая сейчас опубликована в сторах, а не «почти последняя».
- Репозиторий приложения для iOS и Android или общий для Flutter и React Native.
- Репозиторий бэкенда и админки, если их делал тот же подрядчик.
- Конфигурации сборки, файлы окружений, переменные и секреты — переданные отдельно и безопасно.
- Скрипты CI/CD, если сборки создавались автоматически.
- Исходники дизайна: макеты, дизайн-система, иконки и шрифты с лицензиями.
Отдельно проверьте зависимости. Иногда проект собирается только с приватными библиотеками подрядчика, платными SDK на его лицензии или внутренними пакетами, лежащими на его сервере. Снаружи этого не видно, а новая команда упрётся в ошибку сборки в первый же день. Попросите список всех внешних библиотек и сервисов, от которых зависит сборка, и уточните, на кого оформлены платные лицензии. Если библиотеки сильно устарели, это тоже стоит знать заранее: сторы регулярно повышают требования к SDK, и первое же обновление может потребовать их замены.
Серверы, бэкенд и сторонние сервисы
Приложение без сервера — пустая оболочка. Проверьте, на кого оформлены хостинг и облако, кто владеет базой данных и резервными копиями, где хранятся домены и DNS. Через домен работают API и deep links, и если он оформлен на подрядчика, приложение может перестать работать вместе с истечением регистрации.
| Что | Что получить | На кого должно быть оформлено |
|---|---|---|
| Хостинг и облако | Доступ владельца, схема серверов | Ваша компания |
| База данных и бэкапы | Доступы, расписание копий, место хранения | Ваша компания |
| Домены и DNS | Доступ к регистратору | Ваша компания |
| Платёжные шлюзы | Ключи API, доступ в кабинет | Ваша компания по договору с банком |
| SMS, карты, почта | Аккаунты и ключи API | Ваша компания |
| Интеграции с 1С и CRM | Схема обмена, документация API, доступы | Ваша компания |
Если обмен с 1С, CRM или платёжными системами написан без документации, новой команде придётся восстанавливать его по коду. Аудит, описание и при необходимости переработку обменов мы делаем в рамках интеграции приложения с 1С, CRM и сайтом.
Аналитика, push и мониторинг сбоев
Эту группу забывают чаще всего, а потеря данных здесь необратима. Проект Firebase отвечает за push, Crashlytics и часто за аналитику. Если он создан в аккаунте подрядчика, после ухода команды вы теряете историю сбоев и не сможете отправлять уведомления. То же касается Sentry, AppMetrica, Google Analytics и рекламных кабинетов, к которым привязаны установки. Владельцем каждого такого проекта должна стать ваша компания, а подрядчик — получить роль.
Примем приложение от другого подрядчика: инвентаризация доступов, перенос аккаунтов на вашу компанию, аудит кода за неделю и подключение к поддержке без паузы в релизах.
Передать приложение на поддержкуПолный чек-лист передачи приложения
- Аккаунт Apple Developer на вашу компанию, доступ владельца
- Аккаунт Google Play Console на вашу компанию, доступ владельца
- Ключ подписи или ключ загрузки Android и пароли к нему
- Ключ push-уведомлений Apple и доступ к проекту Firebase
- Репозиторий приложения с историей и версией, совпадающей со стором
- Репозиторий бэкенда и админки
- Переменные окружения и секреты, переданные безопасным способом
- Доступ владельца к хостингу, облаку, базе и резервным копиям
- Доступ к регистратору доменов и DNS
- Ключи и кабинеты платёжных шлюзов, SMS, карт и почты
- Crashlytics или Sentry, системы аналитики и рекламные кабинеты
- Исходники дизайна и лицензии шрифтов
- Документация: архитектура, развёртывание, интеграции, список доступов
Как провести передачу без остановки релизов
- ИнвентаризацияСоставьте список всех аккаунтов и сервисов и отметьте, на кого каждый оформлен.
- Перевод на вашу компаниюАккаунты сторов, Firebase, серверы и домены переводятся на вас, подрядчики получают роли.
- Контрольная сборкаНовая команда собирает из полученного кода текущую версию и загружает её во внутреннее тестирование. Это главная проверка, что всё передано.
- АудитСостояние кода, зависимостей, безопасности и аккаунтов сторов. Отчёт показывает, что дорабатывать и что грозит в первую очередь.
- Отзыв старых доступовТолько после успешной контрольной сборки и первого релиза новой командой.
Аудит чужого приложения у нас стоит от 250 000 ₸ и засчитывается в первый месяц поддержки, если вы подключаетесь. Дальше приложение ведётся по тарифу: «Базовый» — 150 000 ₸ в месяц, «Развитие» — 300 000 ₸ в месяц; подробнее о составе — на странице поддержки мобильных приложений. Если вы ещё выбираете между своим разработчиком и подрядчиком, пригодится наша статья о штатном разработчике и аутсорсе.
Обязан ли подрядчик передать исходный код?
Это зависит от договора: кому принадлежат исключительные права на код. Проверьте этот пункт до конфликта. При нормальных отношениях по письму владельца подрядчики обычно передают репозиторий и доступы.
Что делать, если ключ подписи Android потерян?
Если в Google Play включена подпись приложений Google, ключ загрузки можно заменить через поддержку. Если нет и ключ утерян, обновить приложение нельзя — придётся публиковать новое.
Сохранятся ли отзывы и рейтинг при переносе в другой аккаунт?
При штатной передаче приложения между аккаунтами разработчиков отзывы, рейтинг и установки сохраняются. Порядок сверяйте с актуальными правилами сторов.
Сколько длится передача?
Подключение к поддержке занимает около недели: аудит, 2–3 дня на план и тариф, затем настройка мониторинга, CI/CD и доступов. Перенос аккаунтов может занять дольше, если требуются действия прежнего подрядчика.