Инструкция по публикации Android-приложения в Google Play
Вслед за инструкцией по публикации приложения в App Store выкладываем внутренний свод правил Лайв Тайпинг по публикации приложений в Google Play, составленный отделом менеджеров при активном участии тимлида отдела Android-разработки Александра Мирко. Вне зависимости от того, насколько ты крутой и опытный проджект-менеджер, всегда есть шанс забыть что-нибудь. Эта инструкция призвана облегчить вам жизнь.
Итак, что нужно сделать PM`y в ходе публикации:
- Создать аккаунт в Google Play Developer Console для заказчика, если у заказчика такового нет, или предложить произвести публикацию с нашего аккаунта.
- Оформить privacy policy.
- Подготовить маркетинговые материалы (иконка, скриншоты, APK, баннер, текст, проморолик).
- Обеспечить сборку наличием сертификата цифровой подписи.
- Настроить оплату за пользование приложения.
- Отправить сборку в Google Play.
UPD от 25.04.2017: добавлены разделы про альфа- и бета-тестирование и поэтапное внедрение, дополнены разделы «Обеспечение сборки наличием цифровой подписи» и «Технические требования к apk-файлу», сделано замечание про ASO и внесены косметические правки.
Создание аккаунта
Для того, чтобы опубликовать приложение в Google Play, нужен аккаунт разработчика. Это особый тип аккаунта, который позволяет выкладывать приложение в Google Play. Создать его можно с помощью стандартного аккаунта Google. Необходимая часть процесса — внесение разовой оплаты за соглашение разработчика в размере 25$.
→ По ссылке можно завести аккаунт разработчика.
После оплаты нужно будет заполнить данные для аккаунта разработчика и завершить регистрацию.
Пользовательское соглашение
Основные положения из Соглашения Google Play о распространении программных продуктов о которых вы должны знать:
- вы полностью отвечаете за ваш продукт и поставляемый в нём контент;
- вы обязуетесь отвечать на вопросы пользователей в течении трёх рабочих дней и на «срочные вопросы согласно определению Google» в течении 24 часов;
- обязуетесь сохранять конфиденциальность и безопасность пользовательских данных;
- вы не пытаетесь обманывать, причинять какой-либо вред или вводить в заблуждение пользователя и компанию Google;
- вы не распространяете запрещённый контент. Все Продукты, распространяемые через Google Play, должны соответствовать Правилам программы для разработчиков;
- вы разрешаете Google возвращать покупателю полную стоимость Продукта или транзакции внутри приложения от вашего имени, если покупатель запрашивает возврат средств в любой момент после покупки. Удаление продукта не освобождает вас от ответственности перед какого-либо рода выплатами;
- в целом, Google снимает с себя любую ответственность, связанную с вашим продуктом
Подготовка маркетинговых материалов
К маркетинговым материалам существуют следующие требования:
- требования стора. Эти требования монументальны и редко подвержены изменениям, к ним есть четкие описания;
- требования, которые возникают из задач проекта: что более актуально для ЦА этого приложения, какой маркетинг у проекта и т.д. Иногда важно, как это видит клиент: некоторые клиенты готовы использовать простые скриншоты и несложные тексты, другие заказчики постоянно меняют своЁ мнение о скриншотах/текстах, и с этим нужно работать.
Начинать подготовку маркетинговых материалов стоит с текстов.
Требования стора к текстуТребования у Google Play к ним следующие:
- название приложения: не более 30 символов;
- короткое описание: не более 80 символов;
- короткое описание: не более 80 символов;
- полное описание не более 4000 символов.
Посмотреть полные требования Google Play к тексту и его особенностях можно здесь (Как указать данные для Google Play → О продукте).
В целом, оформление приложения в сторах (App Store Optimization, или ASO) — целое искусство, на которое выделяется отдельный самообразованный человек, и в двух словах об этом не рассказать. На эту тему уже есть хорошие материалы, как например, такой.
Согласование текста с клиентомТекст, как и любой другой маркетинговый материал, нужно согласовывать с клиентом. Происходит это так: перед встречей PM делает различные варианты материалов и в ходе встречи обсуждает с клиентом.
Эта статья на Appractor поможет написать хороший текст для Google Play (также подходит для App Store).
Скриншоты Количество скриншотовМаксимум скриншотов, доступных для загрузки к одному приложению — восемь штук. Минимум — два. Сколько скриншотов загружать — вопрос открытый. С одной стороны, нам нужно наглядно и с выгодной стороны показать функциональные особенности приложения для пользователя. С другой стороны, нужно сформировать у пользователя стремление загрузить приложение и посмотреть, что же там есть ещё, чего не было на скриншотах. Поэтому, прежде чем делать максимальное количество скриншотов, нужно подумать об их необходимости.
Для создания скриншотов прямиком с устройства существует приложение Clean Status Bar. Оно очистит статус бар от мусора: сделает батарею полной, выставит 12:00 на часах и по желанию отобразит иконки 3G и WiFi. Установить приложение можно по ссылке.
Требования стора к скриншотам- формат JPEG или 24-битный PNG (без альфа-канала);
- не менее 320 пикселей;
- не более 3840 пикселей;
- соотношение сторон не должно превышать 2:1.
Основная цель скриншотов — дать пользователю сходу понять, о чём ваше приложение. Поэтому первый скриншот должен быть максимально информативным и наиболее привлекательным. Остальные скриншоты показывают различные функциональные особенности приложения.
Если у вашего приложения есть версия под планшеты, то нужно заливать отдельные скриншоты для семи- и десятидюймовых экранов (тем самым вы докажете, что ваше приложение оптимизировано под планшеты). Хорошее решение — делать исходник скриншота максимально большим (например, десять дюймов) и при надобности делать более мелкие копии скриншотов для маленьких девайсов.
Хорошая статья с множеством информации, но изображения недоступны.
Пример качественных скриншотов
ИконкаИконка — небольшое изображение, идентифицирующее наше приложение среди остальных. Если у клиента есть какой-нибудь логотип, то его зачастую делают иконкой. Возможно, перед нами поставят цель — разработать иконку и логотип. В любом случае подход к иконке такой же, как и к любому другому маркетинговому материалу: сначала делаем варианты, потом идём с этими вариантами к заказчику и обсуждаем.
Требования стора к иконке- 32-битный PNG (с альфа-каналом) мы делаем всегда без альфа-канала;
- размеры: 512 х 512 пикселей;
- максимальный размер файла: 1024 КБ
Отображение иконки в магазине
ПромороликЭто важная часть маркетинговой компании, т.к позволяет наиболее выгодно презентовать приложение для пользователя. Добавление ролика само по себе опционально, но если мы заботимся о клиенте и пользователях и у нас есть время и бюджет, то это лучше сделать.
Требования стора к промороликуТребования Google Play:
- указывайте URL отдельного видео на YouTube, а не плейлиста или канала;
- не используйте видео с возрастным ограничением в качестве проморолика;
- используйте полную ссылку на видео YouTube вместо сокращенной:
Видео должны быть короткими (от 30 секунд до 2 минут) и демонстрировать самые привлекательные функции приложения. На устройстве с Android 4.4 или более поздней версии можно записать видео с устройства с помощью команды оболочки ADB screenrecord.
БаннерНа картинке для раздела «Рекомендуемые» можно продемонстрировать потенциальным пользователям графические возможности приложения. Это изображение необходимо, чтобы показывать приложение на разных страницах Google Play.
Требования стора к баннеруТребования Google Play к баннерам:
- JPEG или 24-битный PNG (без альфа-канала);
- 1024х500 пикселей.
Пример расположения баннера в Google Play
Советы- не размещайте важную информацию по краям, особенно в нижней трети рамки.
- логотип лучше размещать по центру, выровняв по горизонтали и вертикали.
- для текста используйте крупный шрифт.
- помните, что картинка может быть показана отдельно, без значка приложения.
Возрастные ограничения
Требования стораСистема возрастных ограничений для игр и приложений учитывает особенности законодательства и культуры отдельных стран. Это позволяет разработчикам более точно определять ограничения для контента и распространять приложения среди той аудитории, для которой они предназначены.
Чтобы установить возрастное ограничение, войдите в Google Play Developer Console и заполните специальную анкету для каждого из своих приложений. Программы, которым не присвоен рейтинг, могут быть заблокированы для отдельных пользователей или стран.
Вы обязаны заполнять анкеты для установления возрастных ограничений и соблюдать рекомендации по оценке контента. Приложения, которым не присвоено ограничение, могут быть удалены из Google Play.
Внимание! В анкете давайте правдивые и максимально точные ответы, иначе приложение может быть удалено или заблокировано.
Заполнение анкеты- Войдите в Google Play Developer Console.
- Выберите приложение.
- В меню слева нажмите Возрастные ограничения.
- Прочитайте информацию об анкете и введите свой адрес электронной почты. По этому адресу представители IARC смогут связаться с вами.
- Нажмите Продолжить.
- Выберите категорию.
- Заполните анкету. Если вы указали ответы на все вопросы в разделе и хотите изменить один из них, нажмите Изменить. Чтобы закончить заполнение анкеты позже, нажмите Сохранить проект. Для каждого приложения доступен только один черновик.
- Нажмите Определить возрастное ограничение.
- Выберите Установить возрастное ограничение на странице с общей информацией об ограничениях.
Технические требования к apk-файлу
- Размер apk-файла не должен превышать более 100 Мб (и 50 Мб для Android 2.2 и ниже, или для Play Market 5.2 и ниже, но давайте уже про них забудем). Бывает, что ваше приложение работает на статическом контенте (не делайте так) или является игрой и его размер больше 100 Мб. Такое приложение можно разбиться на части: основная — до 100 Мб и несколько дополнительных APK Expansion Files до 2 Гб каждый;
- apk-файл не должен быть debuggable;
- apk-файл должен быть подписан файлом цифровой подписи (см. Обеспечение сборки наличием цифровой подписи).
Обеспечение сборки наличием цифровой подписи
Цифровая подпись необходима для того, чтобы Google Play мог идентифицировать разработчика, и в дальнейшем только этот разработчик мог обновлять/изменять приложение. К тому же, на цифровую подпись завязаны множество сервисов, таких как Facebook SDK, Vk SDK и большинство Google сервисов.
Цифровая подпись помещается в хранилище ключей (файл с расширением .keystore или .jks ). К хранилищу обязаны прилагаться:
- store password — пароль к хранилищу ключей;
- key alias — название ключа в хранилище;
- key password — пароль к ключу.
Внимание! Хранилище ключей должно находиться в надежном месте. Если вы потеряете доступ к хранилищу или пароли к нему, то назад пути нет. И даже Google ничем не поможет. Вам придётся опубликовать приложение с новым названием пакета и новым ключом. Кроме того, потребуется обновить описание исходного приложения и закрыть к нему общий доступ. Потеря файла или паролей обернётся для вашего приложения полной трагедией: пользователям придётся удалять текущую версию и скачивать из Google Play новую, а вы потеряете статистику, скачивания, аудиторию и многое другое, ради чего вы столько трудились. В общем, малоприятное событие. (см. п. «Подпись для приложения») Хорошей практикой считается подписывать группу своих приложений одной и той же цифровой подписью. Во-первых вы не запутаетесь в них, а во-вторых вы получаете ряд приятных бонусов. Например можно организовать безопасное общение между своими приложениями через Intent, кастомный <user-permission> и его свойство android:protectionLevel=«signature». Но это уже должен знать разработчик.
Настройка оплаты за пользование приложением
Иногда заказчик планирует продавать контент в приложении, либо делать само приложение платным. Начать следует с того, что в своем аккаунте разработчика после загрузки приложения вы можете выбрать тип приложения: платное или бесплатное.
Смена типа приложенияВы можете сделать платное приложение бесплатным без повторной выкладке приложения в стор. Но для того, чтобы сделать бесплатное приложение платным, вам нужно будет выкладывать приложение в стор с новым названием пакета и указанием цены.
Привязка к Merchant CenterЧтобы указать цену на приложение, вам потребуется привязать свой аккаунт разработчика к Google Payments Merchant Center. Это необходимо для того, чтобы указать налоговые ставки.
Важно: привязку аккаунта к Merchant Center можно произвести только один раз, обратите на это внимание. Если допущена ошибка при привязке Google Payments Merchant Center, то придётся отдавать 25$ за создание нового аккаунта разработчика.
→ Шаги по созданию аккаунта описаны здесь.
После того, как вы произвели привязку, необходимо указать налог с продаж для региона. На сегодняшний день у нас нет опыта в подобных операциях, поэтому желательно будет проконсультироваться с кем-нибудь, кто его имеет. Как указать налог с продаж для региона, указано по ссылке.
Особенности работы с налогами в некоторых странахВ случае, если клиент российский, все проще и сложнее одновременно, т.к для клиентов из Аргентины, России, Тайваня, Индии налоговые вычеты осуществляются самостоятельно. Таким образом, мы должны зарегистрироваться как индивидуальный предприниматель и платить налоги с продажи приложения самостоятельно. Исходя из этого, мы включаем в цену приложения ВСЕ налоги, которые впоследствии будем выплачивать сами. Google не будет производить НИКАКИХ отчислений с продажи.
Отчисления Google не производит, но осуществляет операционный сбор в виде 30% с чистой цены. Чистая цена — цена за вычетом всех налоговых сборов.
ПримерПредположим, что цена приложения равна 100 японским иенам, а НДС составляет 20%. Разработчик перечисляет в соответствующие органы НДС в размере 17 японских иен.
Формула: Цена приложения — (цена приложения * 1/(1 + налоговая ставка)) 100 яп. иен — (100 яп. иен * 1/1,2) = 17 яп. иен
Доход разработчика после уплаты операционного сбора в размере 30% и НДС: 58 японских иен.
Формула: цена без НДС * 70% 83 яп. иены * 0,7 = 58 яп. иен
Больше информации о налоговых сборах и правилах Google Play доступны по ссылке.
После того, как вы зарегистрировали аккаунт и указали информацию о налоговых сборах, можно указать цену на приложение, удостоверившись, что цена попадает в диапазон цен, установленный для вашей страны. Все диапазоны есть здесь.
Цена приложения и валютыЦена на приложение устанавливается в местной валюте. Для того, чтобы посмотреть цену на приложение, необходимо:
- На странице Цены и распространение укажите нужные страны или установите флажок «Выбрать все».
- Посмотреть цену для каждой страны в соответствующем столбце: — цены для разных стран рассчитываются по текущему обменному курсу с учетом местной специфики ценообразования. — если местная валюта не поддерживается, для страны действует цена в вашей валюте по умолчанию.
- рядом с нужной страной нажмите Изменить;
- введите цену;
- нажмите Применить.
Важно: если клиент планирует зарабатывать на приложении как основном источнике дохода, стоит сказать ему о необходимости обновлять цены на приложение в соответствие с курсом валют. Для этого необходимо выставить флажки рядом с нужными странами и нажать Обновить курсы валют на экране «Цены и ценообразование».
Настройка альфа- и бета-тестирования
Альфа- и бета-тестирование позволяет опробовать ваше приложение на узком круге пользователей. Существует открытое и закрытое тестирование. В обоих случаях тестовая группа пользователей не сможет оставлять публичные отзывы в Google Play — только личные, которые не являются общедоступными. В любом случае полезно предложить им дополнительный общий канал для обратной связи. Стоит отметить, что неважно, публикуете вы приложение впервые, обновляете существующее или меняете его описание, изменения будут доступны в Google Play не мгновенно, а только через пару часов.
Подробнее можно посмотреть тут.
Поэтапное внедрение обновлений
Обновления приложений можно внедрять поэтапно, начав с небольшой части пользователей, которая указывается в процентах, и постепенно увеличивая их количество. Поэтапное внедрение доступно только для обновлений приложения, а не для его первоначальной версии. Выбор пользователей происходит абсолютно случайным образом и вы никак не можете указать какие-либо параметры выбора. Также вы не можете откатить версию приложения у пользователей, которые уже установили обновление.
Несмотря на ограничения, поэтапное внедрение — очень мощный и полезный инструмент. Предположим, случился ужасный сценарий: на этапе разработки и регрессионного тестирования вы пропустили какую-либо блокирующую проблему. С поэтапным внедрением проблему при публикации обновления обнаружат не все ваши пользователи, а лишь их часть. Конечно, моментально исправить или откатить версию не получится, однако остальные ваши пользователи с проблемой не столкнутся, а у вас появляется возможность пофиксить неисправность и выкатить обновления для той же группы пользователей.
Крайне рекомендуем не пренебрегать и пользоваться данной возможностью. Для внедрения можно воспользоваться шагами в 10, 25, 50, 75 и 100% и растягивать в соответствии с длиной спринта.