Приложение пропало из стора из-за старого SDK: как это происходит и как не попасть
Google и Apple ежегодно поднимают требования к target SDK. Приложение работает, багов нет — а установок больше нет. Разбираем механику.
Самый обидный способ потерять мобильное приложение — не баг и не жалобы пользователей, а письмо от площадки, которое никто не прочитал. Google Play и App Store ежегодно поднимают минимальные требования к target SDK — версии системных библиотек, под которую собрано приложение. Приложение, не успевшее обновиться, сначала перестаёт показываться новым пользователям, потом снимается с публикации. Технически оно исправно: у существующих пользователей всё работает. Просто новых установок больше нет.
Как устроен этот механизм
Логика площадок понятна: старые SDK означают старые разрешения, старые дыры и несовместимость с новыми версиями систем. Поэтому раз в год планка поднимается, а даты объявляются заранее — за полгода-год. Проблема в том, что объявляются они письмом на почту аккаунта разработчика, которую у заказных приложений часто никто не читает: приложение сдали два года назад, «оно работает».
Почему «просто пересобрать» не получается
Если приложение не трогали два-три года, смена target SDK тянет за собой цепочку: новые версии системных библиотек требуют обновить зависимости, часть из них объявлена устаревшей и заменена другими, что-то ломает сборку, что-то — поведение. Плюс за это время могли истечь сертификаты подписи и измениться требования к описанию privacy. «Обновление на один пункт» превращается в неделю-две работ — и это ещё хороший сценарий, если исходники и доступы на месте.
Чек-лист владельца приложения
Кто читает почту аккаунта разработчика — назначен ли конкретный человек? Когда приложение последний раз пересобиралось? Какой у него сейчас target SDK и какие дедлайны объявили площадки на этот год? Где исходники, у кого доступ к консолям и живы ли сертификаты подписи? Если на два вопроса из пяти ответа нет — вы кандидат на «внезапное» снятие с публикации.
Как это закрывается системно
Календарь дедлайнов площадок плюс плановая пересборка раз в год, даже без новых функций: обновить SDK и зависимости, прогнать на свежих версиях iOS и Android, перевыпустить. Скучно и предсказуемо — в этом и смысл. У нас это часть поддержки мобильных приложений, вместе с сертификатами, пушами и краш-мониторингом.