Ты сделал приложение. Все кнопки работают. Багов вроде нет.
Друзья сказали:
«Вау, запускай уже!»
И вот ты открываешь App Store Connect...
Через два часа читаешь письмо:
Your binary has been rejected.
Добро пожаловать в мир публикации мобильных приложений. 😄
Многие новички думают, что после написания кода остается только нажать кнопку Publish. На практике публикация — это отдельный этап разработки, который иногда занимает больше времени, чем создание самого приложения.
Особенно если ты запускаешься на российский рынок.

📱 Что такое публикация приложения?
Публикация — это процесс размещения приложения в магазинах:
App Store для iPhone;
Google Play для Android;
RuStore для Android;
AppGallery для устройств Huawei;
других альтернативных магазинах приложений.
После публикации пользователь сможет:
найти приложение через поиск;
установить его на смартфон;
получать обновления;
оставлять оценки и отзывы;
оформлять покупки или подписки, если они предусмотрены.
Кажется просто?
На самом деле между кнопкой «Собрать приложение» и его появлением в магазине проходит целая цепочка действий.
🤯 Что нужно подготовить перед публикацией?
Для релиза понадобится гораздо больше, чем просто рабочий код.
Обычно разработчик готовит:
📸 скриншоты приложения;
🎨 иконку;
📝 название и описание;
🔒 политику конфиденциальности;
🌍 локализации для разных языков;
🎥 промо-видео, если оно необходимо;
📦 release-сборку;
🧾 возрастной рейтинг;
💰 настройки покупок и подписок;
👤 тестовый аккаунт для проверки приложения;
📧 контактные данные разработчика;
🗂 информацию о том, какие данные собирает приложение.
В этот момент новичок обычно понимает:
«Кажется, написать приложение было самой простой частью».
🍏 App Store — самый строгий преподаватель
Apple можно сравнить с преподавателем, который проверяет диплом под микроскопом.
Он заметит всё.
Даже кнопку, которую ты случайно забыл удалить после тестирования.
Приложение могут отклонить, если:
оно падает или зависает;
часть функций не работает;
нет политики конфиденциальности;
пользователь не понимает, зачем приложение запрашивает доступ к камере, фото или геолокации;
регистрация обязательна, хотя без неё можно было бы обойтись;
аккаунт нельзя удалить внутри приложения;
описание обещает функции, которых на самом деле нет;
покупки цифрового контента работают в обход правил магазина;
интерфейс выглядит как недоделанный сайт внутри WebView;
ревьюер не смог войти в тестовый аккаунт.
Иногда после отказа кажется:
«Они специально нашли единственный экран, который я не проверил».
Скорее всего, именно так и произошло. 😅
Но смысл проверки понятен: Apple старается не пропускать откровенно сломанные, небезопасные и вводящие пользователей в заблуждение приложения.
🤖 Google Play спокойнее, но тоже умеет удивлять
Раньше среди разработчиков ходила легенда:
«В Google Play можно загрузить почти всё».
Сегодня лучше на эту легенду не рассчитывать.
Google активно использует автоматические проверки, которые анализируют:
разрешения приложения;
используемые SDK;
сбор персональных данных;
возрастную аудиторию;
рекламные механики;
подозрительное или вредоносное поведение;
соответствие страницы приложения реальному функционалу.
Автоматическая система может заблокировать релиз, даже если приложение работает нормально.
Например, разработчик добавил доступ к контактам «на будущее», но никак его не использует. Для магазина это выглядит подозрительно.
Правило простое:
Не запрашивай у пользователя то, без чего приложение может работать.
🇷🇺 - Особенности публикации для российского рынка.
Для разработчиков из России публикация стала чуть сложнее, потому что недостаточно просто выбрать между App Store и Google Play.
Нужно заранее подумать:
откуда российские пользователи будут скачивать приложение;
как они будут оплачивать подписку;
какие сервисы аналитики и уведомлений будут работать стабильно;
нужны ли альтернативные способы входа;
нужно ли выпускать приложение сразу в нескольких магазинах.
Android в России.
На Android у разработчика больше свободы.
Можно использовать:
Google Play;
RuStore;
AppGallery;
Galaxy Store;
прямую установку APK с официального сайта.
Последний вариант кажется самым простым:
«Просто дам ссылку на APK и всё».
Но у него есть минусы:
пользователи боятся устанавливать файлы из неизвестных источников;
обновления придется организовывать самостоятельно;
доверие к приложению будет ниже;
установка потребует дополнительных действий.
Поэтому для массового продукта лучше присутствовать хотя бы в одном официальном магазине.
iPhone в России.
С iOS ситуация сложнее, потому что Apple сильнее контролирует установку приложений и внутренние покупки.
При запуске на российскую аудиторию необходимо заранее проверить:
доступность выбранных способов оплаты;
работу подписок;
доступность сторонних сервисов;
работу авторизации через иностранные платформы;
возможность поддержки пользователей из России.
При этом российские разработчики продолжают создавать и публиковать приложения для iPhone. Просто финансовую и техническую схему релиза лучше продумать до того, как проект будет полностью готов.
💳 Подписки и платежи — отдельный квест.
Допустим, приложение опубликовано.
Теперь хочется начать зарабатывать.
И здесь появляется новый уровень сложности.
Если внутри приложения продается цифровой контент, магазины обычно требуют использовать их платежную систему.
Это касается:
премиум-функций;
онлайн-курсов;
виртуальной валюты;
подписок;
доступа к закрытым материалам;
отключения рекламы.
Нельзя просто поставить кнопку:
«Переведите деньги на карту, и мы откроем PRO».
Точнее, технически кнопку поставить можно. Но магазин может очень быстро объяснить, почему это была плохая идея.
Для российского рынка платежную модель стоит проектировать заранее: учитывать ограничения магазинов, способы оплаты на сайте и правила конкретной платформы.
🧪 Перед релизом нужно тестирование
Не стоит отправлять в магазин первую сборку, которая просто запустилась на твоём телефоне.
Перед публикацией проверь:
регистрацию и вход;
восстановление пароля;
удаление аккаунта;
покупки и подписки;
push-уведомления;
работу без интернета;
плохое интернет-соединение;
старые устройства;
маленькие экраны;
темную тему;
разные версии операционной системы;
все ссылки и кнопки;
политику конфиденциальности;
отображение русского текста.
Особенно внимательно проверяй приложение на реальном устройстве.
Эмулятор может уверенно говорить:
«Всё работает идеально».
А реальный смартфон через пять секунд покажет белый экран.
📦 Release-сборка — не то же самое, что тестовая
Во время разработки приложение запускается в debug-режиме.
Он удобен для поиска ошибок, но не предназначен для публикации.
Для магазина нужна release-сборка.
В ней:
код оптимизирован;
отключены инструменты отладки;
настроена цифровая подпись;
подключено production-окружение;
используются реальные серверы;
убраны тестовые данные.
Классическая ошибка новичка:
Опубликовать приложение, которое подключается к локальному серверу на localhost.
На компьютере разработчика всё работает.
У ревьюера Apple — почему-то нет.
Загадка века. 🕵️
🔐 Что такое подпись приложения?
Каждая опубликованная сборка должна быть подписана цифровым ключом.
Подпись подтверждает, что приложение выпустил именно его владелец, а сборка не была изменена посторонними.
Особенно важно не потерять ключ подписи Android-приложения.
Если потерять доступ к ключу, обновление приложения может превратиться в очень неприятный квест.
Поэтому:
храни ключи в защищенном месте;
делай резервные копии;
не отправляй их в публичный GitHub;
не храни пароль в файле README;
не называй файл ключа final-key-real-last-100-percent.jks.
Хотя последний пункт — скорее рекомендация для душевного спокойствия.
📝 Страница приложения тоже влияет на успех
Даже идеальное приложение никто не установит, если его страница выглядит скучно или непонятно.
На решение пользователя влияют:
название;
иконка;
первые скриншоты;
короткое описание;
оценки;
отзывы;
частота обновлений;
понятное объяснение пользы.
Плохое описание:
«Наше приложение предоставляет пользователям уникальный пользовательский опыт».
Хорошее описание:
«Создавайте задачи для ребёнка, начисляйте награды и мотивируйте его выполнять домашние дела».
Не рассказывай, какое приложение инновационное.
Расскажи, какую проблему пользователя оно решает.
🔄 Обновление — это тоже публикация
Многие думают:
«Один раз выложил приложение — и готово».
На самом деле каждый новый релиз проходит публикацию заново.
Исправил кнопку?
Загружаешь новую сборку.
Добавил функцию?
Снова проверка.
Нашёл критический баг после релиза?
Срочно собираешь обновление и надеешься, что модерация пройдет быстро.
Написал код
↓
Нашёл баг
↓
Исправил баг
↓
Отправил сборку
↓
Нашёл новый баг
↓
Повторить бесконечноТак выглядит стабильная мобильная разработка. 😄
💙 Как Кодик помогает перейти от теории к своему приложению?
Чтобы однажды загрузить собственное приложение в App Store, Google Play или RuStore, недостаточно посмотреть несколько роликов и сохранить двадцать курсов в закладки.
Нужно писать код.
Ошибаться.
Исправлять.
И снова писать код.
В приложении Кодик обучение программированию построено вокруг практики. Ты изучаешь тему и сразу закрепляешь её интерактивными заданиями, упражнениями и проектами.
В Кодике можно изучать:
Python;
JavaScript;
HTML и CSS;
SQL;
Git;
Java;
C++;
Dart и Flutter;
другие востребованные технологии.
Так знания не остаются в формате:
«Я это где-то видел в видео».
Они превращаются в навык, который можно использовать в собственном проекте.
А в Telegram-сообществе Кодика регулярно выходят полезные посты, разборы, советы, мемы и объяснения сложных тем простыми словами.
Это удобный способ повторять программирование даже в те дни, когда на полноценный урок есть только несколько минут. 🚀
Публикация в App Store и Google Play — это полноценная часть разработки, а не последний клик мышкой.
Нужно:
подготовить сборку;
оформить страницу приложения;
пройти модерацию;
настроить платежи;
проверить юридические документы;
учесть особенности российского рынка;
подготовить обновления и поддержку.
Первая публикация почти всегда кажется сложной.
Зато после неё ты перестаёшь быть человеком, у которого приложение «работает на телефоне».
Ты становишься разработчиком, чей продукт можно скачать из настоящего магазина.
И поверь, сообщение:
Your app is Ready for Sale.
радует иногда сильнее, чем первая зарплата в IT. 🎉
