Публикация приложения на платформе 1С в App store и Play market

Программирование - Мобильные приложения

Мобильное приложение App store Play market iOS Android XCode Android Studio ITunes coonect Apple id Сборщик мобильных приложений Grandle JDK

70
Инструкция о том, как опубликовать свое приложение в App store и Play market.

Общие моменты

Публикация App store

Публикация в Play market


Инструкция не затрагивает тему детальной настройки Сборщика мобильных приложений, Beta тестирования (XFlight, Ad Hoc), App Store Optimization (ASO), публикации коммерческих приложений.

1. Общие моменты
1.1. Настройка Сборщика мобильных приложений

Детальная настройка Сборщика хорошо описана во встроенной справке Сборщика. В публикации рассмотрены только некоторые моменты.

  • JDK версия 8.0 (версия без демок). С 10+ версией на момент написания публикации Сборщик работал некорректно. Инструмент необходим как для сборки ipa так и для apk файлов.
  • SDK 26+. Раньше был SDK Manager, с помощью которого можно было скачать и установить необходимый SDK, но на данный момент Manager интегрирован в Android Studio. При запуске Android Studio появится окно приветствия, в котором доступен  SDK Manager.

По умолчанию устанавливается SDK последней версии, но если это не так, то можно выбрать нужный SDK и нажать Apply. В этом же окне скопировать путь к папке с SDK и указать его в Сборщике.

Инструмент необходим только для сборки apk.

  • PuTTY. Инструмент необходим только для сборки ipa.

На момент написания публикации версия Сборщика мобильных приложений, которая собирает приложение с учетом требований XCode 10, Android SDK 26, является 2.0.7.54. Версия мобильной платформы 8.3.12.89.
2. Публикация App store
2.1. Получение Apple ID

Зарегистрировать новый Apple ID. При регистрации лучше указать реальные данные, так как это поможет в будущем решать какие-либо вопросы с Apple намного быстрее.

2.2. Регистрация аккаунта разработчика

Авторизоваться на сайте разработчиков Apple с помощью созданного Apple ID. Согласиться с условиями программы, после чего перейти к своему аккаунту. На главной странице аккаунта перейти по ссылке Join the Apple Developer Program.

Далее нажать на кнопку Enroll.

Откроется страница, на которой описаны условия присоединения к программе как для инди-разработчика так и для организации. После ознакомления с условиям перейти по ссылке Start Your Enrollment.

Для продолжения необходимо чтобы аккаунт Apple ID имел двух-факторную аутентификацию. Для этого нужно авторизоваться на сайте для управления Apple ID. В разделе Security включить двух-факторную аутентификацию. 

После включения двух-факторной аутентификации в аккаунте разработчика будет доступна возможность выбора типа аккаунта - инди-разработчик или организация.

2.2.1.Оформление заявки от имени организации

Если Вы регистрируете организацию, то нужно указать следующие реквизиты:

  • ИНН организации
  • Название организации с юридической формой (ООО, ОАО и т.д.)
  • Телефон организации
  • Сайт организации
  • DUNS номер
  • Кто Вы - собственник или лицо, которому доверена регистрация
  • Ваше имя и фамилия
  • Ваш номер телефона

2.2.1.1. Получение DUNS

По DUNS номеру можно однозначно идентифицировать организацию и получить по ней открытые данные (название, юр. адрес, количество сотрудников и т.д.). Получение такого номера платно, для России стоит примерно 12000 руб, платеж единоразовый. Получение занимает до 10 рабочих дней после оплаты. В моем случае оплата была 300$, платеж ежегодный и получение заняло 2 рабочих дня. После того, как я указал полученный DUNS номер в заявке на регистрацию аккаунта разработчика, обнаружилось, что адрес компании был неверный (адрес определяется по DUNS). Попытки обращения в службу регистрации DUNS желаемого результата не дали и только на 4 день я написал в службу поддержки Apple - вопрос был решен за пару часов - в заявке появились поля для указания адреса вручную.  

Также есть способ получить DUNS номер бесплатно (за информацию спасибо Tahallus).

2.2.2. Оформление заявки как физ. лицо

Если регистрируетесь как инди-разработчик (физ. лицо), то достаточно указать имя, фамилию и номер телефона.

2.2.3. Подтверждение заявки службой Apple

После того, как заявка была принята, на почту придет уведомление с номером заявки. Заявка рассматривается до 10 рабочих дней (в моем случае это было 2 дня). В течении этого времени, на указанный при регистрации номер телефона, поступит звонок. Сначала будет звонить робот и будет возможность назначить время для разговора. Если же звонок пропустите, то Вам перезвонят (мне перезванивали 5 раз) . После робота Вас переключат на реального человека, который задаст несколько вопросов на английском языке: как Вас зовут, кто еще может поговорить в случае надобности и его контактный номер. Звонящий говорил разборчиво и медленно.

2.3. Оплата аккаунта

Если заявка одобрена, то через некоторое время после звонка на почту придет уведомление, о том, что "заявка одобрена и ожидает оплаты".

Оплатить можно банковской картой. Сумма платежа 99$. Платеж ежегодный.

2.4. Настройка mac

После оплаты аккаунта необходимо выполнить некоторые действия на Mac компьютере. 

  • Меню Apple > Системные настройки > Общий доступ. Включить общий доступ и указать пользователя, под которым будет доступен сетевой вход по ssh.

  • Открыть XCode, меню XCode > Preferences > Accounts, авторизоваться под созданным Apple ID и нажать Manage Certificates.

В открывшемся окне добавить сертификат для iOS Distribution и iOS Development.

  • Открыть Spotlight и набрать keychain, далее открыть найденную утилиту и в Связке Вход найти полученный сертификат для Distribution и перенести его в Связку Система, попутно соглашаясь с сообщениями системы.

2.5. Создание App ID

В личном кабинете разработчика в разделе Certificates, IDs & Profiles > Identifiers > App IDs создать новый App ID

  • App ID Description название приложения, по которому можно отличить App ID в личном кабинете
  • App ID Prefix нужно будет указать в Группе разработки в Сборщике мобильных приложений
  • App ID Suffix выбрать Explicit App ID и в поле Bundle ID написать что-то типа ru.mycompany.mysuperapp. Потом указанный Bundle ID потребуется указать также в Сборщике (пункт 2.8). В разделе App Services нужно отметить необходимые права для приложения (по умолчанию будут отмечены Game Center и In-App Purchase - скорей всего этого будет достаточно)

2.6. Создание Provision profile

В личном кабинете разработчика в разделе Provisioning Profiles создать новый профиль с типом Distribution App Store

Далее выбрать созданный App ID и Certificate (его создали в XCode) и дать название новому профилю. Далее нажать Download и сохранить полученный профиль в файл. В Сборщике создать новый профиль обеспечения, в котором указать только что загруженный файл профиля Apple.

2.7. Itunes Connect

Авторизоваться в сервисе ITunes Connect, используя Apple ID. В разделе Мои приложения создать новое приложение. 

  • В разделе Информация о приложении найти Apple ID (он будет создан автоматически) и сохранить его куда-нибудь, так как его нужно будет указать в Сборщике в пункте 2.8.

Указать ID пакета, который должен совпадать с Bundle ID из пункта 2.5, заполнить остальные поля, а также обязательным к заполнению будет URL-адрес политики конфиденциальности (в качестве примера можно посмотреть описание политики у приложений 1С в App Store) 

  • Раздел Ценообразование и доступность - здесь нужно указать цену продажи, список стран, в которых будет доступно приложение
  • Раздел Приложение для iOS - здесь необходимо загрузить скриншоты приложения. Разрешения скриншотов должны быть точно такими же как этого требует ITunes Connect, поэтому можно использовать симулятор в XCode и сделать скриншоты для разных устройств (меню Simulator>Edit>Copy Screen). Также нужно будет указать URL-адрес службы поддержки (я указывал адрес сайта на котором разместил также политику конфиденциальности) и авторские права на приложение (я указал название компании, от имени которой публикуется приложение). Не получится указать конкретную Сборку, так как приложение нужно загружать в ITunes Connect отдельно (пункт 2.9).

2.8. Сборка приложения в Сборщике мобильных приложений

В Сборщике необходимо выполнить еще ряд настроек:

  • В настройках Параметров сборщика указать имя компьютера Mac, имя пользователя и пароль из пункта 2.4.

  • Создать Поставщика, у которого на закладке Параметры для ОС iOS указать префикс идентификатора приложений из пункта 2.5 (Bundle ID), но не весь, а ту часть, которая идет до названия приложения (в данном случае ru.mycompany). Добавить сертификат разработчика (будет произведено обращение к Mac), указать параметры доступа к Itunes Connect и создать Группу разработчиков, в которой указать Идентификатор группы разработчиков из пункта 2.5 (App ID Prefix) и Способ распространения Для распространения в Apple AppStore
  • Создать группу Мобильных приложений, в которой указать Поставщика, Идентификатор мобильного приложения (Bundle ID), но не весь, а ту часть, которая является названием приложения (в данном случае mysuperapp). В итоге должен получиться идентификатор точно такой же как и Bundle ID. Затем добавить конфигурацию (файл xml, который предварительно нужно выгрузить в Конфигураторе). На закладке для ОС iOS указать Группу разработчиков, Профиль обеспечения и Идентификатор в App Store из пункта 2.7 (Apple ID).
  • Создать элемент в только что созданной группе Мобильных приложений

После этого нажать Собрать приложение и подождать окончания операции. Если все пройдет успешно, то на выходе получится ipa файл и два проекта для XCode.

2.9. Загрузка ipa в ITunes connect

Небольшое отступление. На этом моменте у меня ушло много времени. В начале публикации я указал версию Сборщика и Мобильной платформы, но когда я только начал заниматься этим вопросом этих версий еще не было и на этапе сборки ipa файла в Сборщике я получал много разных ошибок. Сборщик собирал проекты XCode, но ipa файл собрать никак не получалось. Поэтому я решил использовать напрямую XCode, чтобы сначала получить подписанный файл архива xcarchive, а затем из него получить ipa. Это сделать удалось сразу, но потом нужно использовать Application Loader, который загрузит ipa в Itunes Connect. Вот на этом этапе приложение не проходило валидацию, одна из ошибок была связана с разрядностью приложения. Все найденные в Интернете решения этой проблемы испробовал, но безрезультатно. Потратил на это примерно 5 дней, после чего вышла вышеупомянутая сборка Мобильной платформы и Сборщика, с помощью которых ipa файл собрался без проблем.

 Для последующей загрузки ipa файла в Itunes Connect необходимо нажать кнопку Загрузить в магазины. Затем перейти в аккаунт Itunes Connect и в разделе Версии будет доступен выбор версии приложения. 
2.10. Отправка на модерацию

Если  все шаги по заполнению описания приложения были выполнены, то можно отправлять приложение на модерацию. Проверка приложения может занимать до 10 рабочих дней (в моем случае это было 2 дня) и если в описании приложения была допущена ошибка, то приложение не пройдет модерацию и цикл отправки на модерацию придется начинать заново. После прохождения модерации приложение получит статус Готово к продаже, но в магазине его не будет.

Может пройти до 24 часов, пока оно там появится. Если пройдет более 24 часов и приложения не будет, то можно обращаться в службу поддержки Apple.

2.11. Выводы

Было потрачено 399$ и по времени весь процесс занял около месяца. Если что-то идет не так, то всегда можно обращаться в службу поддержки Apple.

3. Публикация в Play market
3.1. Регистрация аккаунта в Google

Зарегистрировать новый аккаунт Google

3.2. Регистрация аккаунта разработчика

Авторизоваться на сайте разработчиков Google с помощью созданного аккаунта. Принять условия присоединения к программе разработчиков.

3.3. Оплата аккаунта

Нажать кнопку Оплатить. Оплата доступна только с помощью банковской карты. Сумма платежа 25$. Платеж единоразовый.

3.4. Сборка приложения в Сборщике мобильных приложений

В Сборщике необходимо выполнить еще ряд настроек:

  • Создать Поставщика, у которого на закладке Параметры ОС Android необходимо указать префикс идентификатора приложений, получить ключ разработчика средствами Сборщика. Также есть возможность указать параметры доступа к консоли разработчика, но в Сборщике видимо указана неверная ссылка для проверки введенных данных, поэтому подключиться к консоли разработчика из Сборщика не получится
  • Создать группу Мобильных приложений, в которой указать Поставщика, Идентификатор мобильного приложение (префикс от Bundle ID), но не весь, а ту часть, которая является названием приложения (в данном случае mysuperapp). В итоге должен получиться идентификатор точно такой же как и Bundle ID. Затем добавить конфигурацию (файл xml, который предварительно нужно выгрузить в Конфигураторе).
  • Создать элемент в только что созданной группе Мобильных приложений

После этого нажать Собрать приложение и подождать окончания операции. Если все пройдет успешно, то на выходе получится два APK файла для разной архитектуры. Нужен тот, который для ARM.

3.5. Создание описания приложения

В консоли разработчика в левом меню выбрать Все приложения и нажать кнопку Создать приложение. Система попросит указать язык и название приложения. После этого приложение будет создано и можно перейти к его настройке.

С настройкой разделов Store listing, Content Rating и Pricing вопросов возникнуть не должно. После полной настройки раздела он будет выделен зеленым цветом.

Затем в разделе App releases нажать Создать релиз. Далее необходимо загрузить файл APK, который был собран Сборщиком. После загрузки файл будет проходить валидацию и если при сборке использовалась старая версия мобильной платформы, то будет ошибка о том, что SDK приложения не соответствует минимально допустимому.

3.6. Отправка на модерацию  

После того, как все 4 раздела настроены, приложение можно отправлять на модерацию (будет доступна соответствующая кнопка в разделе App releases). У меня процесс модерации занял около 2-х часов.

3.7. Выводы
Было потрачено 25$ и по времени весь процесс занял около 4 часов.

70

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. nomadon 319 21.10.18 08:13 Сейчас в теме
Подтверждаю что ошибки сборки xcode убивают кучу времени и гуглелие практически безрезультатно (если конечно вы постоянно не занимаетесь мобильной разработкой)! Такое чувство, что мне говорят: не беспокойся 1С все сделает, расслабься и жди... обычно не жду... помню только один раз гугление помогло: нужно было версию подправить и прописать ее в другом месте, потом 1c добавили это через параметр и можно ждать следующей версии xcode
4. fr13 392 21.10.18 16:34 Сейчас в теме
(1) мне как-то Гугл помог в случае сборки для Андроида, но времени тоже пару дней тогда потратил
2. Tahallus 421 21.10.18 12:55 Сейчас в теме
3. fr13 392 21.10.18 16:30 Сейчас в теме
(2) Спасибо, очень полезно. Не возражаете если добавлю информацию об этом в публикацию?
5. Tahallus 421 21.10.18 22:15 Сейчас в теме
(3) какие могут быть возражения)) это даже не моя статья, тем более что информация экономит 12240 рублей.
6. Region102 32 22.10.18 06:12 Сейчас в теме
После этого нажать Собрать приложение и подождать окончания операции. Если все пройдет успешно, то на выходе получится ipa файл и два проекта для XCode.


Ключевая фраза "Если все пройдет успешно". 99% успешно не пройдет.

У меня получилось только на XCode 9.2 https://www.youtube.com/watch?v=UKJ76BNaIqE
7. o4karek 22.10.18 15:14 Сейчас в теме
А встроенный в сборщик публикатор чем не устроил?
8. fr13 392 22.10.18 16:13 Сейчас в теме
(7)Вы про что? Для Apple использовался встроенный публикатор. Для Google встроенный не авторизовывался. Про оба случая я написал в публикации.
9. etmarket 417 22.10.18 18:32 Сейчас в теме
Полезная информация. Спасибо автору за публикацию статьи!
Оставьте свое сообщение