- PVSM.RU - https://www.pvsm.ru -
К запуску курса «Fullstack мобильный разработчик [1]», проводимого совместно с агентством Agima [2], мы подготовили серию материалов о том, как создавать приложения для мобайла. Будем говорить о кейсах, цифрах, правилах и провалах, но начнем, вместе с Никитой Архиповым из студии Anvics, с темы прохождения релиза в App Store. Разберем, как договориться с ревью-командой и избежать проблем, по шагам расскажем про техническую сторону — от создания сертификата до взаимодействия с Itunes Connect — и про то, о чем все молчат, — как же все таки пройти ревью с первого раза. Готовьте лапки, и поехали!
Пы сы: а еще в этой серии материалов спрятаны скидки на курс: в каждом посте по мобильной разработке есть ребус, в котором зашифровано слово или название решения из области мобайла. За отгаданный ребус вы получаете скидку 10%! Кстати, скидки суммируются, так что если соберете их все, то сможете отхватить курс по очень вкусной цене! Первый ребус ищите уже в этом тексте!
Игра разработана, приложение создано, всё готово к запуску. Настало время релиза — и вот тут вы и можете столкнуться с неожиданностями. Когда вам нужно срочно зарелизиться, а приложение еще не готово к «честному» прохождению ревью, обойти ограничения, установленные Apple, трудно, но вполне возможно. Рассказываем, как договориться с командой, принимающей решения о публикации приложений в App Store. Разбираемся в возможных причинах отказа или блокировки. А для тех, кто впервые выкатывает свой продукт в магазин приложений, разбираем технические детали ревью от создания сертификата до взаимодействия с Itunes Connect.
Кажется, для того чтобы подготовиться к ревью, достаточно пару раз прочесть App Store Review Guidelines [3], и всё будет в порядке. Но трудности могут начаться уже на этом этапе. Во-первых, на сегодня это уже тридцатистраничный талмуд. Во-вторых, почти в самом начале этого документа есть следующий пункт: «Мы отклоним приложение, содержимое которого нарушает границы».
При этом, что это за граница, за которой остаются отклоненные приложения, — никто в точности не знает. Как однажды сказал американский верховный судья «Я пойму (эту границу), когда увижу ее». Впрочем, пугаться заранее не стоит: несмотря на такую размытую формулировку, сам процесс ревью очень адекватный, и просто так в Apple не отказывают приложениям в публикации.
Не забывайте следить за обновлениями App Store Review Guidelines. Настройте уведомления о связанных с этим новостях в поисковике или следите за профильными мероприятиями, на которых анонсируются нововведения. Например на недавней World Wide Developers Conference 2018 Apple представила [4] ряд новых правил, касающихся политики конфиденциальности, таргетинга рекламы и работы приложений, связанных с криптовалютами. Вам сможет серьезно помочь проект App Store Review Guidelines History [5], создатели которого маркируют все новые изменения: то, что добавляется к Руководству, отмечают зеленым цветом, а удаленное из него — красным. Рекомендуем подписаться на их рассылку.
Достаточно четко помнить про основные мотивы возможного отказа, изложенные в том самом App Store Review Guidelines. Они довольно просты и вкратце звучат так:
Здесь важно отметить, что ревью-команда Apple при отклонении заявки всегда опишет причину и пояснит, что нужно изменить. Но этим опять же не стоит злоупотреблять: пара неудачных попыток — и в следующий раз ваш контент подвергнется еще более внимательному досмотру.
Мы сами в Anvics в разное время сталкивались при прохождении ревью с проблемами не только из этого списка.
Однажды мы запускали небольшое промоприложение для рекламной кампании
одного крупного бренда. Оно содержало только функции просмотра VR-видео и обратную связь с представителями бренда. Команда ревью посчитала, что приложение недостаточно функционально, и отклонила его. Но оказалось, что для того, чтобы успешно пройти ревью, достаточно было добавить кнопки «Поделиться в социальных сетях» и галерею. После таких косметических (на общем фоне разработки) правок приложение спокойно прошло проверку.
Открытием стало то, что для брендированных приложений, если они публикуются не с энтерпрайз-аккаунта самой марки, необходимо подтверждающее письмо от представителей бренда, позволяющее использовать название, логотип и другие фирменные атрибуты марки для разработки и реализации приложения. Подготовить его можно в свободной форме: «Я, такой-то, генеральный директор, разрешаю использовать свой бренд „Бренд“ для приложения „Приложение“ в аккаунте „Аккаунт“». Отсканируйте этот документ и прикрепите его к заявке на ревью.
Встречаются и технические особенности, которые можно просто не заметить. Например, мы однажды столкнулись с тем, что все сторонние сервисы, к API которых обращается приложение, должны поддерживать протокол IPv6. И, само собой, в них не должно содержаться никаких URL-адресов в виде 1.1.1.1. Будьте внимательнее к таким деталям, это позволит сэкономить ваше время.
Как пройти ревью:
На курсе «Fullstack мобильный разработчик» мы подробно объясняем, как пройти путь от идеи приложения до релиза в App Store, и, конечно, затрагиваем все этапы ревью более подробно. Но пошаговым руководством по тому, как отправить приложение на ревью, делимся уже сейчас. (И не забывайте про ребус со скидками — он уже близко!)
Механика создания подписи может вызвать сложности у тех, кто раньше не сталкивался с этим, поэтому расскажем про нее подробно. У приложений есть сертификаты, идентификаторы и профили.
Для подписи приложения сначала необходимо зарегистрировать компьютер и получить сертификат, потом сформировать идентификатор приложения, а в конце создать профиль для отправки в App Store. Разберем пошагово все этапы.
Когда мы уже зарегистрировались и оплатили аккаунт, входим в портал разработчика Apple [6].
Выбираем Certificates, Identifiers & Profiles:
Видим следующие настройки сертификата:
Нажимаем на пиктограмму «+» справа от надписи iOS Certificates:
Выбираем App Store and Ad Hoc, нажимаем Continue:
Ознакомившись с описанием того, как будет создан запрос на создание сертификата, снова нажимаем Continue:
Теперь нам нужно создать ключ на компьютере. Для этого запускаем программу «Связка ключей»:
В верхнем меню нажимаем «Связка ключей» –> «Ассистент сертификации» -> «Запросить сертификат у бюро сертификации...»:
Указываем email нашего аккаунта, в общем имени пишем любое имя, адрес email БС оставляем пустым, в запросе выбираем «Сохранен на диске»:
Нажимаем «Продолжить» и сохраняем файл с расширением .certSigningRequest в удобном месте (например на рабочем столе). После сохранения переносим его на кнопку Choose File в портале Apple:
Нажимаем Continue, на следующем экране — Download и дважды кликаем на скачанный файл — после этого должно стать активным окно «Связки ключей» и появиться «Добавление сертификатов». Убедитесь, что в нем заданы данные «Связка ключей — вход» и нажмите «Добавить»:
Сертификат для компьютера готов.
В меню на портале Apple выбираем пункт App IDs:
Так же как и у сертификатов, кликаем пиктограмму с плюсом:
На открывшейся странице обязательно заполняем поля Name (название приложения — под ним оно будет фигурировать только на портале Apple) и App ID. App ID копируем из Xcode-настроек вашего проекта:
Ниже вы увидите список сервисов, которыми будет пользоваться приложение. Необходимые отметьте галочкой в соответствующих чекбоксах (позже этот список можно будет изменить).
После этого внизу страницы нажмите Continue, на следующем экране — Register и на последнем — Done. Идентификатор приложения готов.
В меню перейдем в Provisioning Profiles -> Distribution:
Кликаем привычную уже пиктограмму «+» и в открывшейся вкладке выбираем App Store:
На следующем экране выбираем зарегистрированный нами идентификатор приложения:
Теперь выбираем сертификат, а затем вводим название для профиля (под этим названием он будет показываться в xСode — то есть это рабочее название, видимое только вам и представителям Apple):
Нажимаем Continue, на следующем экране — Download и дважды кликаем по скачанному файлу. После этих нехитрых действий Xcode должен стать активным окном. Всё готово: мы создали все необходимые файлы для подписи нашего приложения.
Прежде чем отправлять приложение в App Store, нужно зарегистрировать его в iTunes Connect. Для этого открываем сайт appstoreconnect.apple.com [7] и после авторизации с тем же логином/паролем, что и на developer.apple попадаем на главный экран:
Выбрав «Мои приложения», нажимаем на пиктограмму «плюс» и выбираем «Новое приложение»:
Заполняем все поля в открывшемся окне. В поле SKU вводим идентификатор приложения и приписываем расширение .SKU:
Нажимаем «Создать» — теперь приложение зарегистрировано.
Возвращаемся к Xcode с проектом:
Отключаем Automatically manage signing, нажимаем на None напротив Team и в выпадающем списке выбираем Add account. После этого вам откроется окно для ввода логина и пароля:
После этого в настройках проекта выбираем добавленную команду.
Теперь осталось установить в Xcode профиль и сертификат. Для этого открываем вкладку Build Settings (убедитесь, что чуть ниже выбрано All):
Прокручиваем до секции Signing и выбираем там наши сертификат и профиль:
Далее Target -> Generic iOS Device:
Нажимаем Product -> Archive:
Ждем, когда после архивации (она может занять несколько часов) откроется окно:
Нажимаем Upload to App Store…
Кликаем Next, после чего Xcode потратит немного времени на прогрузку и выдаст вам следующее окно:
Здесь выбираем наш сертификат и профиль, нажимаем Next, потом Upload и ждем! После успешной загрузки Xcode примерно через 30–60 минут сборка появится в appstoreconnect.
Когда это произошло, сборку, вместе с описанием приложения, необходимыми документами (если они имеются) и контактной информацией можно отправлять на модерацию ревью-команде.
А вот и ребус! Помните, что спрятанное в нем слово или понятие относится к мобильной разработке, учитывайте, что английский здесь может мешаться с русским, и главное — не забывайте, что мы будем тщательно следить за комментариями и удалять из них подсказки и ответы! Промослово, зашифрованное в ребусе, следует назвать, когда с вами свяжется наш менеджер после того, как вы отправите заявку на курс. Скидки за разгаданные ребусы (всего их будет пять, по числу материалов) суммируются между собой, но не со скидками на сайте. Слишком медлить не стоит — промо работает до 30 августа 2018 года.
У iOS, в силу специфики закрытой платформы, есть только один официальный магазин приложений — App Store. Если сделать jailbreak, можно, конечно, использовать неофициальную Cydia, но в последние годы она все больше теряет популярность, а значит, имеет не слишком высокие показатели пользовательской активности. Такой вариант может быть актуален для тех, кто не хочет сталкиваться с диктуемыми Apple ограничениями, но обычному разработчику это не нужно.
Если вам необходимо срочно зарелизиться, обойти ограничения, установленные Apple, трудно, но вполне возможно. По нашему опыту, если приложение не очень сильно нарушает правила, то можно аккуратно попросить пропустить его, пообещав исправиться в следующей версии, а необходимость срочного попадания в Store мотивировать, например, тем, что уже на завтра запланировано мероприятие, для которого необходимо использование этого приложения. В целом, команда ревью достаточно дружелюбная: ее представители готовы идти навстречу разработчикам, а при необходимости оперативного решения проблемы с ними можно даже созвониться.
Однако, как мы и говорили выше, если вы будете систематически нарушать правила и отправлять одну за другой новые нестабильные сборки, Apple может применить к вам санкции.
Каждое последующее ревью сборок, нарушающих правила App Store, приведет к увеличению его сроков. Теоретически можно заслужить и блокировку аккаунта, но на практике эта мера на предрелизном этапе обычно не применяется.
Если же ревью-команда обнаружит обман пользователей или нарушение правил в уже выпущенном приложении, оно удалится из каталога. Жесткие нарушения вроде кражи данных могут привести даже к удалению аккаунта.
В большинстве случаев ревью занимает 1-2 дня, но может длиться дольше при отсутствии всей необходимой информации (например логинов и паролей для доступа к закрытой части функционала) или при повторной отправке приложения на модерацию после нескольких отказов. В этом случае ревью проходит дольше с каждым последующим отказом и его срок может вырасти до нескольких недель.
Если вы разрабатываете приложения под несколько платформ — помните, что в Google Play ревью обычно занимает несколько часов, поэтому в первую очередь, конечно, нужно загружать iOS-версию, если на iOS и Android приложение должно выйти примерно в одно время.
Как видите, в прохождении ревью нет ничего страшного: представители Apple дружелюбны, правила сравнительно гибки, а сроки ревью невелики. И не забывайте про вежливость: внимательное чтение гайдлайнов, самостоятельное качественное тестирование и внимательное отношение к советам ревью-команды обеспечат вам установление с ними хороших отношений и легкое прохождение ревью с первого раза.
Автор: Онлайн-университет Skillbox
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ios-development/284110
Ссылки в тексте:
[1] Fullstack мобильный разработчик: https://skillbox.ru/agima/?utm_source=skillbox.media&utm_medium=referral&utm_campaign=habr.com&utm_content=AGIMA&utm_term=appstorereview&rs=skillbox.media_referral_habr.com_AGIMA_appstorereview
[2] Agima: http://www.anvics.ru
[3] App Store Review Guidelines: https://developer.apple.com/app-store/review/guidelines/
[4] представила: http://www.appstorereviewguidelineshistory.com/articles/2018-06-04-wwdc2018/
[5] App Store Review Guidelines History: http://www.appstorereviewguidelineshistory.com/
[6] портал разработчика Apple: http://developer.apple.com
[7] appstoreconnect.apple.com: https://appstoreconnect.apple.com
[8] Источник: https://habr.com/post/415203/?utm_source=habrahabr&utm_medium=rss&utm_campaign=415203
Нажмите здесь для печати.