Передать приложение на другой аккаунт разработчика можно и в App Store, и в Google Play без потери пользователей, отзывов и рейтинга. У Apple перенос запускает владелец текущего аккаунта в App Store Connect, а получатель принимает его в течение 60 дней. У Google заявку подают через форму переноса в Play Console, и служба поддержки обычно отвечает в течение 2 рабочих дней.

Самый частый случай в Казахстане: приложение когда-то опубликовал фрилансер или студия на своём аккаунте, а теперь компания хочет забрать его себе. Разбираем условия, шаги и подводные камни.

Зачем переносить приложение на аккаунт компании

Аккаунт разработчика в сторе это юридический владелец приложения. Кто владеет аккаунтом, тот и решает, обновлять приложение, снимать с продажи или получать деньги с продаж. Если приложение вашей сети магазинов в Шымкенте висит на личном аккаунте программиста, вы зависите от одного человека.

Типичные поводы для переноса:

  • смена подрядчика: старый фрилансер ушёл, новая команда не может выпускать обновления;
  • приложение сделано студией на своём аккаунте, по договору права переходят заказчику;
  • покупка бизнеса или продажа приложения;
  • переход с аккаунта ИП на аккаунт ТОО;
  • аккаунт оформлен на бывшего сотрудника.

Правильная практика: с самого начала публиковать приложение на аккаунте заказчика. Как его завести, мы пошагово описали в статье про аккаунты разработчика Apple и Google. А чтобы вопрос о правах не возник вообще, пропишите это в договоре, подробнее в материале о договоре на разработку приложения.

Что сохранится после переноса

Что App Store Google Play
Установленные копии у пользователей Работают, получают обновления Работают, получают обновления
Отзывы и рейтинг Сохраняются Сохраняются
Bundle ID / package name Остаётся прежним Остаётся прежним
Статистика Старый владелец теряет доступ к аналитике, новый получает её Переходит к новому владельцу
Финансовые отчёты до переноса Остаются у старого владельца Не переносятся, скачайте заранее
Подписки Переходят, нужен общий секрет (shared secret) Переходят
Тестовые группы и промо TestFlight нужно очистить до переноса Не переносятся

Условия переноса в App Store

Apple разрешает перенос, только если выполнены все условия из справки App Store Connect:

  • оба аккаунта в нормальном статусе, не находятся в процессе изменения;
  • обе стороны приняли последние версии соглашений Paid и Free Apps;
  • у приложения есть хотя бы одна версия, выпущенная в App Store;
  • приложение не доступно для предзаказа;
  • ни одна версия не находится в статусах «Waiting for Review», «In Review», «Processing for Distribution», «Accepted», «Pending Developer Release» или «Pending Apple Release»;
  • встроенные покупки в статусах Approved, Ready to Submit, Developer Removed from Sale или Rejected, а их идентификаторы не совпадают с покупками в аккаунте получателя;
  • все сборки, тестировщики и тестовая информация в TestFlight удалены;
  • данные Xcode Cloud удалены.

Не переносятся приложения Apple Arcade и некоторые приложения для Mac, использующие общую групповую папку с другими приложениями.

Как перенести приложение в App Store: пошагово

  1. Получатель сообщает данные. Нужны Apple Account владельца (Account Holder) аккаунта получателя и его Team ID. Team ID видно на странице Membership в кабинете Apple Developer.
  2. Старый владелец готовит приложение. Очищает TestFlight, проверяет статусы версий и покупок, генерирует общий секрет для подписок, если они есть.
  3. Старый владелец запускает перенос. В App Store Connect: приложение → «App Information» → «Transfer App». Роль должна быть Account Holder.
  4. Получатель принимает перенос. Account Holder получателя видит запрос в App Store Connect и принимает его. На принятие даётся 60 дней, потом запрос истекает.
  5. Новый владелец обновляет инфраструктуру. Выпускает новые сертификаты и ключи для push-уведомлений, пересобирает приложение под свой Team ID и выпускает обновление.

Приложение всё это время остаётся доступным в App Store, простоя для пользователей нет.

Как перенести приложение в Google Play

У Google процесс проще по условиям, но требует аккуратности с деталями:

  1. Оба аккаунта активны. У получателя должен быть оплаченный аккаунт Play Console (25 $ разово). Если приложение платное или с покупками, у получателя должен быть активный платёжный профиль.
  2. Проверка политик. Google требует, чтобы исходный аккаунт и все переносимые приложения соответствовали правилам. Приложение с нарушением сначала исправляют.
  3. Скачайте отчёты. Отчёты о продажах, выплатах и доходах не переносятся.
  4. Найдите ID транзакции. Нужен идентификатор платежа за регистрацию аккаунта получателя. Он есть в письме-квитанции владельцу аккаунта или в Google Payments.
  5. Обновите доступы к связанным сервисам. Firebase, Google Analytics, AdMob, проекты Google Cloud: права на них переносятся отдельно, до подачи заявки.
  6. Подайте заявку через форму переноса приложений в Play Console. Поддержка обычно отвечает в течение 2 рабочих дней.

После переноса ключ подписи приложения остаётся в Google Play App Signing, а ключ загрузки (upload key) лучше сменить на ключ новой команды. Про связку с Firebase подробно в статье о Firebase для мобильного приложения.

Технические нюансы, о которых забывают

Сам перенос в консоли занимает несколько минут. Основная работа начинается после, когда новая команда подхватывает приложение. Вот что стоит проверить заранее, особенно в iOS.

  • Заморозка на время переноса. Пока запрос в статусе ожидания, старый владелец не может менять метаданные, цены, доступность и встроенные покупки. Открытые переписки с проверкой Apple закрываются. Не запускайте перенос накануне акции или важного релиза.
  • Push-уведомления. Старые сертификаты APNs работают до истечения срока, но новому владельцу всё равно нужно выпустить свои ключи и прописать их на сервере или в Firebase. Иначе в какой-то момент уведомления просто перестанут приходить.
  • Вход через Apple (Sign in with Apple). Идентификаторы пользователей привязаны к команде разработчика. Чтобы люди не потеряли аккаунты, новый владелец генерирует переходные идентификаторы по инструкции Apple и обновляет бэкенд.
  • Keychain. Общий доступ к связке ключей работает только до первого обновления. После пересборки под новый Team ID пользователям может понадобиться войти заново. Предупредите об этом в описании обновления.
  • Подписки. До переноса старый владелец создаёт общий секрет приложения и передаёт его получателю, чтобы сервер продолжал проверять подписки. После принятия получатель генерирует свой.
  • Промокоды. После переноса новые промокоды для этого приложения сгенерировать нельзя.

В Android всё проще: пользователи ничего не замечают, если приложение подключено к Play App Signing. Главное, чтобы у новой команды были доступы к Firebase и Google Cloud, иначе сломаются push-уведомления, аналитика и авторизация через Google.

Чек-лист перед переносом

  1. Аккаунт компании заведён и оплачен, соглашения приняты.
  2. Исходный код и все пароли переданы, репозиторий на аккаунте компании.
  3. Финансовые отчёты у старого владельца скачаны.
  4. TestFlight и Xcode Cloud очищены, версий на проверке нет.
  5. Для подписок подготовлен общий секрет.
  6. Доступы к Firebase, AdMob, Google Cloud переданы.
  7. Запланировано первое обновление от нового владельца.

Частые проблемы казахстанских компаний

  • Фрилансер не выходит на связь. Перенос запускает только владелец текущего аккаунта. Без него ни Apple, ни Google не отдадут приложение. Выход: юридическое требование по договору или, если договора нет, публикация нового приложения с нуля на своём аккаунте. Отзывы и установки в этом случае теряются.
  • Нет исходного кода. Перенос в сторе не передаёт код. Если код остался у подрядчика, новая команда не сможет выпустить обновление. Забирайте репозиторий вместе с приложением.
  • Нет ключа подписи Android. Если приложение старое и не подключено к Play App Signing, а ключ потерян, обновить его невозможно. Проверьте это до расставания с подрядчиком.
  • Аккаунт получателя не оплачен или без D-U-N-S. Для организации Apple требует номер D-U-N-S, его получение занимает время. Заведите аккаунт заранее.
  • Версия висит на проверке. Пока Apple проверяет сборку, перенос недоступен. Дождитесь решения или отзовите версию.

Если вы как раз выбираете подрядчика и хотите избежать таких историй, почитайте сравнение фрилансера и студии.

Частые вопросы

Сколько стоит перенос приложения?

Сами Apple и Google не берут плату за перенос. Нужно только, чтобы у получателя был оплаченный аккаунт: 99 $ в год у Apple и 25 $ разово у Google.

Пропадёт ли приложение у пользователей во время переноса?

Нет. Приложение остаётся в сторе, установленные копии работают, отзывы и рейтинг сохраняются.

Сколько длится перенос?

В App Store перенос завершается сразу после принятия получателем, на это есть 60 дней. В Google Play поддержка обычно отвечает в течение 2 рабочих дней.

Можно ли перенести приложение, если старый разработчик недоступен?

Нет, заявку подаёт только владелец текущего аккаунта. Без него остаётся юридический путь или публикация нового приложения.

Нужно ли выпускать обновление после переноса?

Желательно. В iOS новая команда пересобирает приложение под свой Team ID и обновляет ключи push-уведомлений, в Android меняет ключ загрузки.

Заберём приложение на ваш аккаунт

Проведём перенос под ключ: проверим условия, заведём аккаунт компании, согласуем шаги со старым подрядчиком, заберём код и ключи, выпустим первое обновление от вашего имени. Смета за 24 часа, аудит и доработка от 500 000 ₸. Подробнее о доработке приложений или сразу напишите нам.