В первой части нашего туториала мы зарегистрировались в обоих магазинах — App Store и Google Play. Но чтобы ваше приложение стало доступным для скачивания, необходимо совершить ещё немало действий. Давайте их рассмотрим.
Прежде чем перейти к процедуре выкладывания, обязательно удостоверьтесь, что ваше приложение соответствует требованиям (Google, Apple), предъявляемым к качеству и содержимому публикуемых приложений. Несоответствие этим требованиям часто приводит к тому, что начинающие разработчики с удивлением получают отказ в публикации, да ещё и предупреждение за нарушение.
В первую очередь, приложение должно иметь какую-то функциональность, то есть иметь пользу, ценность. Убедитесь, что ваше приложение хоть чем-то отличается от аналогов. Если вы ещё не искали аналоги в магазине, не поленитесь это сделать — на этом этапе заканчивается создание многих проектов. Особенно это касается новичков с «инновационной» идеей.
Вариантов получить отказ из-за неправильно написанного кода тоже очень много. В первую очередь это касается падений приложения. Также многие разработчики испытывают соблазн влезть во внутреннее API, когда не хватает программных интерфейсов, предоставляемых вендором. Но поверьте, если API закрыто — значит это сделано не просто так. Еще раз перечитайте документацию по используемой технологии, наверняка вы что-то упустили.
Если вы используете в названии приложения или в его контенте названия других компаний, торговых марок, защищённые авторским правом образы и изображения (даже в виде скриншотов) — без соответствующего на то разрешения — то смело можете рассчитывать на то, что приложение «завернут» с выговором. Поэтому тщательно избегайте подобных ситуаций. Если же вам необходимо использовать или упомянуть защищённый копирайтом материал, то вам необходимо будет сразу доказать право на его использование с помощью соответствующей формы.
Сложный или непонятный интерфейс — ещё одна частая причина отказа. Убедитесь, что экраны приложения не перегружены, читаются легко, а цвета подобраны так, чтобы не убить глаза пользователя за 5 минут работы с приложением. У обеих компаний есть рекомендации по дизайну интерфейсов, сверьтесь с ними (Google, Apple).
Apple особенно трепетно относится к работоспособности всех заявленных функций: если у вас есть дальний пункт меню, который вы пока не успели доделать и поместили заглушку, то рецензенты это обнаружат и заставят сначала доработать приложение.
Если ваше приложение собирает какую-либо информацию о пользователе и его устройстве, то необходимо как можно более чётко разъяснить в приложении, как вы будете использовать эти данные. Не рекомендуется без объяснений собирать всевозможную телеметрию и отправлять её на свой сервер, это подозрительно и наказуемо отказом в публикации приложения.
Планируя брать деньги с пользователей с помощью встроенных систем оплаты App Store и Google Play, то проверьте, входит ли ваше приложение в одну из категорий, поддерживаемых этими системами. Например, если вы планируете продавать через ваше приложение какие-то услуги, то придётся «прикрутить» другие системы оплаты.
Background Modes. Это режимы, которые может использовать ваше приложение в свёрнутом/закрытом виде. Но приложение должно содержать функционал, который оправдывает выбор этих режимов. Если у вас указано Audio, а никакого аудио нет, или Voice over IP, а позвонить из приложения нельзя, то ждите отказ.
Чаще всего приложения не проходят модерацию при выкладывании по следующим причинам:
- Неполное заполнение всех сопроводительных форм.
- Баги и «падения».
- В приложении используются фальшивые, мошеннические или вводящие в заблуждение данные.
- Используются иконки, аналогичные иконкам сторонних приложений.
- При разработке интерфейса не учтены рекомендации из официальных гайдлайнов (Apple, Google).
- Несоответствие заявленных функций и/или скриншотов фактическому приложению.
Обо всяких злонамеренных вещах — вроде использования приложения для взлома, спама, использования нечестных методов привлечения и т.д. — можно и не упоминать.
Если не подходить ответственно к вопросу проверки своего приложения на соответствие требованиям, то ваш аккаунт разработчика могут вообще заблокировать.
В заключение о процессе проверки приложения, цитата с официального сайта: «Мы отклоним приложение с контентом или функционалом, которые переходят черту. Где эта черта, спросите вы? Как однажды сказал один судья, «я узнаю, когда увижу». И мы думаем, вы тоже поймёте, когда пересечёте её».
Итак, вы проверили своё приложение и готовы поделиться им со всем миром. Давайте рассмотрим соответствующие процедуры.
App Store
Используемые инструменты:
- Компьютер Apple (с установленной OS X).
- Apple store — магазин приложений Apple.
- developer.apple.com — центр разработчика Apple.
- itunesconnect.apple.com — сайт для управления своими приложениями, выкладывания в магазин, просмотра статистики, финансов и т.п.
- XCode — интегрированная среда разработки.
- Application Loader — программа Apple для загрузки собранного архива приложения в Itunes Connect.
Каждое приложение, выкладываемое в App Store, должно быть подписано действительным сертификатом, выданным Apple.
Чтобы подписать приложение нам необходимо:
- Запросить у Apple сертификат.
- Добавить новое приложение в Developer Center.
- Создать Provisioning profile.
- Создать новое приложение на портале itunesconnect.apple.com (далее — iTunes Connect).
- Заполнить всю необходимую информацию о приложении.
- Собрать архив приложения из XCode, подписав его нашим Provisioning profile.
- Загрузить архив в iTunes Connect с помощью Application Loader (ПО Apple).
- Указать в новой версии приложения архив, который мы загрузили, и отправить приложение на проверку.
Рассмотрим каждый шаг более подробно:
- Запрос сертификата у Apple.
- Переходим в XCode.
- Открываем XCode -> Preferences…
- Выбираем Apple ID. Если его нет в списке, нажимаем внизу «+» -> Add Apple ID.
- Справа выбираем группу, от имени которой вы хотите выложить приложение, и нажимаем «View Details...»
- После загрузки сертификатов найдите в поле вверху «iOS Distribution», если справа есть кнопка Create — нажмите на нее. Cертификат создан.
- Добавление нового приложения в Dev Center.
- Заходим на developer.apple.com/account/ios/identifier/bundle.
- Нажимаем на «+». Вводим название приложения (только для Dev Center), и Bundle ID — это уникальный идентификатор нашего приложения, он должен совпадать с тем, который указан у вас в проекте. Обычно вида com.company.appname.
Указываем ниже необходимые сервисы. Они должны совпадать с теми, которые вы указали в проекте (XCode -> Target -> Capabilities).
- Нажимаем Done — запись о приложении создана.
- Создание Provisioning profile.
- Переходим на developer.apple.com/account/ios/profile/production.
- Нажимаем на «+». Выбираем Distribution -> App Store. Нажимаем Continue.
- Выбираем созданный нами сертификат (iOS Distribution). Нажимаем Continue.
- Задаем имя сертификата. Нажимаем Continue.
- Сертификат создан. Скачиваем его на компьютер и открываем — теперь он есть у вас в XCode.
- Создание нового приложения в iTunes Connect.
- Переходим на itunesconnect.apple.com, в раздел «Мои приложения».
- Нажимаем на «+» -> Новое приложение.
- Вводим имя приложения, версию (1.0), SKU — любой идентификатор в вашей личной системе учета.
- Выбираем основной язык. В поле Bundle ID подгружены все приложения из вашего аккаунта разработчика. Выберите тот, который вы создали ранее.
- Нажимаем Create. Запись о приложении создана.
- Заполнение всей необходимой информации о приложении.
- Переходим на itunesconnect.apple.com, в раздел «Мои приложения», выбираем наше приложение из списка.
- AppStore -> Информация о приложении. Здесь размещена общая информация о приложении.
- AppStore -> Ценообразование и доступность. Здесь вы можете указать стоимость вашего приложения и страны, в которых оно будет доступно.
- Ниже выбираем «1.0 Подготовка к отправке» — это первая версия приложения, которую вы отправите в App Store. Здесь вам надо пройтись по всей странице и указать максимально подробную информацию о приложении: скриншоты (до 5 штук на устройство, удобнее всего делать на симуляторе), описание, иконка приложения и т.д. Не забудьте внизу указать данные для тестового аккаунта, если в вашем приложении предусмотрена авторизация. Если сотрудники Apple не смогут зайти в ваше приложение, вы тут же получите отказ.
- Сбор архива из XCode, с подписыванием его нашим Provisioning profile.
- Переходим в XCode, в инспекторе файлов слева выбираем наш проект -> Targets, выбираем наше приложение. В разделе Build settings находим раздел Code signing. В поле Provisioning profile выбираем тот, который мы скачали на этапе 3. Если всё правильно, то в поле Code Signing Identity можно будет выбрать наш iOS Distribution Certificate, созданный на этапе 1.
- В меню XCode сверху выбираем Product -> Archive. После завершения архивации в окне Archives organizer выбираем созданный архив и нажимаем Export..., указываем «Save for iOS App Store Deployment» и выбираем место, куда хотим сохранить архив. По завершении этого действия по указанному пути будет создан архив с расширением .ipa — это архив вашего приложения.
- Переходим в XCode, в инспекторе файлов слева выбираем наш проект -> Targets, выбираем наше приложение. В разделе Build settings находим раздел Code signing. В поле Provisioning profile выбираем тот, который мы скачали на этапе 3. Если всё правильно, то в поле Code Signing Identity можно будет выбрать наш iOS Distribution Certificate, созданный на этапе 1.
- Загрузка архива в iTunes Connect с помощью Application Loader.
- Нажимаем My Apps (Мои приложения) на главной странице iTunes Connect. Вы увидите страницу с перечнем документации и загрузок для установки.
- Нажимаем ссылку “Download Application Loader”, чтобы загрузить самораспаковывающийся установочный пакет.
- После установки необходимо осуществить вход в приложение через ваш Apple ID.
- После входа нажимаем кнопку «Deliver Your App» и выбираем файл архива, созданный на этапе 6.
- Указание архива для новой версии приложения, который мы загрузили, и отправка приложения на проверку.
- Переходим на itunesconnect.apple.com, в раздел «Мои приложения». Находим выкладываемое приложение, созданное ранее. Выбираем «1.0 Подготовка к отправке». В разделе «Сборка» указываем загруженную сборку приложения.
- В самом низу вы можете выбрать, опубликовать приложение после проверки автоматически либо вручную. В ручном режиме вы можете опубликовать приложение, когда посчитаете нужным.
- Сохраняем изменения. Сверху нажимаем кнопку «Отправить на проверку».
- Если всё было сделано правильно, то вы увидите надпить «Ожидает проверки». Если же есть ошибки, то появится сообщение с информацией, что нужно исправить. Все изменения статуса приложения сопровождаются письмом от Apple. Чтобы настроить уведомления, перейдите на домашнюю страницу Itunes Connect -> Пользователи и роли -> выберите пользователя из списка -> выберите «Уведомления». Здесь можно настроить, какие уведомления будет получать пользователь.
- Переходим на itunesconnect.apple.com, в раздел «Мои приложения». Находим выкладываемое приложение, созданное ранее. Выбираем «1.0 Подготовка к отправке». В разделе «Сборка» указываем загруженную сборку приложения.
Google Play
- Подписываем APK-файл.
Для того, чтобы выложить ваше приложение в Google Play, необходимо подписать его специальным ключом. Всего существует два вида ключей:- develop — ключ, которым подписываются абсолютно все приложения во время установки из среды разработки на устройства;
- production — ключ, которым подписывается приложение перед выкладыванием в Google Play.
Нам понадобится второй тип ключа. Он уникален для каждого приложения, им также необходимо подписывать все обновления вашего приложения. Если вдруг вы его потеряете, то восстановить его будет невозможно и придется выкладывать абсолютно новое приложение.
Рассмотрим процесс подписи.
- Нажимаем “Generate Signed APK”.
- Нажимаем “Next”.
- На следующем этапе необходимо указать путь до хранилища ключей (Keystore), пароль от него, а также выбрать в этом хранилище сам ключ, которым будет подписано приложение. Так как у нас еще нет хранилища ключей и самого ключа, нажимаем “Create new”.
- В появившемся окне выбираем путь, где будет находиться созданный файл хранилища ключей и пароль к нему. Далее вводим название ключа и пароль, выбираем срок жизни ключа (минимум 25 лет). В блоке “Certificate” достаточно заполнить поле “First and last name”, остальные поля необязательны к заполнению.
- При успешном создании ключа нас вернет на предыдущее окно с заполненными данными. Нажимаем “Next”.
- В появившемся окне нажимаем кнопку “Finish”.
Далее будет запущен процесс создания APK-файла вашего приложения, финальным этапом которого будет его подпись только что созданным ключом.
- Создание нового проекта и загрузка APK-файла в консоль разработчика.
- В консоли разработчика в правом верхнем углу нажимаем на кнопку «Добавить приложение».
- В появившемся окне выбираем язык, который будет использоваться по умолчанию на странице нашего приложения в магазине Google Play. Также вводим название приложения и нажимаем кнопку «Загрузить APK».
- Далее нажимаем на кнопку в центре экрана «Загрузить первый APK рабочей версии».
В окне указываем путь до нашего APK-файла.
Начнется процесс загрузки.
- После успешной загрузки APK-файла отобразится следующий экран.
Обратите внимание, что в левом верхнем углу напротив строки «Файлы APK» галочка из серой превратилась в зеленую. Это индикатор того, что мы успешно загрузили файл и выполнили одно из требований Google Play для успешной публикации приложения. Далее необходимо сделать все остальные галочки зелеными, то есть выполнить оставшиеся требования.
- В консоли разработчика в правом верхнем углу нажимаем на кнопку «Добавить приложение».
- Заполнение обязательной информации о приложении.
- Перейдем к пункту «Данные для Google Play». Здесь необходимо заполнить все поля, помеченные звёздочкой *, а также добавить все необходимые скриншоты (минимум 3 штуки), загрузить иконку приложения, указать тип и категорию приложения, возрастные ограничения.
- Если ваше приложения рассчитано не только на русскоязычную аудиторию, то можно добавить описание и скриншоты на других языках, нажав на кнопку «Переводы».
- После заполнения всех полей нажмите на кнопку «Сохранить проект» в правом верхнем углу.
- Переходим к вкладке «Возрастные ограничения».
- Первым делом необходимо указать и подтвердить адрес электронной почты, а затем выбрать категорию для вашего приложения. Затем необходимо ответить на небольшой список вопросов и в самом низу страницы нажать на кнопку «Сохранить».
- После этого станет доступна расположенная рядом кнопка «Определить возрастные ограничения», нажимаем на нее. Будет показан список, составленный на основе ваших ответов на вопросы. Проверьте его, если всё верно — нажимаем на кнопку «Установить возрастные ограничения».
Если всё прошло успешно, вам будет показан следующий экран.
- Переходим к вкладке «Цены и распространение».
Если ваше приложение будет распространяться бесплатно, то нажимаем на кнопку «Бесплатно». В противном случае нажимаем «Платно». При платном распространении вам будет необходимо указать цену для приложения, причем выбрать для каждой страны отдельную цену.
Обратите внимание, что после публикации приложения платность приложения изменить нельзя!
На этом же экране вам необходимо указать страны, в которых приложение будет доступно для скачивания.
- Пролистав страницу до конца, проставляем галочки напротив всех обязательных полей.
- Затем снова нажимаем на кнопку «Сохранить проект» в правом верхнем углу.
- После корректно выполненных действий у вас будет доступна кнопка «Опубликовать» в правом верхнем углу, нажимаем на нее.
- Поздравляем, в течении 1-2 часов (столько, в среднем, занимает публикация приложения) ваше творение будет доступно для установки из Google Play.
- Перейдем к пункту «Данные для Google Play». Здесь необходимо заполнить все поля, помеченные звёздочкой *, а также добавить все необходимые скриншоты (минимум 3 штуки), загрузить иконку приложения, указать тип и категорию приложения, возрастные ограничения.
Итак, ваше приложение прошло все проверки и появилось в сторе. Вы с волнением ожидаете первые скачивания и отзывы пользователей. Но завоевать внимание пользователей среди множества других приложений бывает очень непросто. Поэтому после публикации приложения необходимо уделить пристальное внимание его продвижению. О том, какими способами это можно делать, мы поговорим в одной из будущих публикаций.
Автор: Scorocode