Если вы разрабатываете игру под Android или iOS, рано или поздно вам придётся заняться подготовкой к публикации на Google Play и App Store. Но если вы ещё ни разу не релизили мобильную игру, многие вещи и правила могут оказаться неприятным сюрпризом и сильно замедлить процесс публикации.
Эта статья поможет начинающим разработчикам мобильных игр подготовиться к публикации в сторах и узнать ответы на такие вопросы, как:
- Почему нельзя просто так взять скриншоты из игры и вставить их в описание?
- Почему стоит ознакомиться с требованиями обоих сторов, даже если на данный момент релиз только на один из них?
- К чему могут придраться на ревью в App Store и насколько это может затянуться?
- Какие подводные камни ждут разработчика Free-to-play игры?
- Почему пользователи Windows будут страдать при публикации в App Store?
- Почему могут не работать тестовые платежи на iOS?
Вступление
На днях я зарелизил свою мобильную игру Wizard Swipe в Google Play и App Store. Это второй мой релиз в этих сторах, поэтому я уже был немного подготовлен к публикации, но всё же многие вещи и правила оказались для меня сюрпризом, о чём я бы и хотел рассказать другим разработчикам игр, чтобы упростить им жизнь.
Я не буду рассказывать банальные вещи типа правил сторов (которые легко можно найти в документации), а постараюсь осветить различные неочевидные моменты и требования, о которых лучше узнать заранее, что позволит сэкономить кучу времени и нервов в будущем.
Важны требования обоих сторов
Даже если вы планируете релиз игры в App Store только через полгода после релиза в Google Play, обязательно ознакомьтесь со всеми требованиями и нюансами обоих сторов заранее.
Почему? Потому что требования стора могут вам испортить все планы по подготовке промо-материалов для этой платформы. Например, вы сделаете 8 скриншотов для Google Play и будете рассчитывать на 8, а потом выясните, что в App Store максимальное количество скриншотов — 5. Придётся выбирать, от каких избавиться. Лучше заранее узнать о таких ограничениях и делать 5 универсальных скриншотов.
Или же вы решили зарелизиться сначала в App Store и подготовили только полное описание игры. А потом узнали, что в Google Play есть отдельный раздел под краткое описание (до 80 символов). Придётся делать дополнительные тексты, заказывать переводы и т. д. Также в App Store есть отдельный раздел под ключевые слова (до 100 символов, включая разделители), а в Google Play такого поля нет.
Ещё один хороший пример — трейлер игры. Если вы хотите сделать видео-трейлер в Google Play, всё, что от вас требуется — указать URL видео на youtube. Никаких ограничений, только советы:
Видео должны быть короткими (от 30 секунд до 2 минут) и демонстрировать самые привлекательные функции приложения.
В App Store же промо видео строго ограничено по длительности — от 15 до 30 секунд и должно иметь разрешение экрана девайса, на котором оно проигрывается (подробнее об ограничениях чуть позже). Отсюда вывод — видео нужно делать по требованиям Apple, т. к. они более строгие, либо делать 2 отдельных ролика (что в 2 раза больше работы).
Медиа материалы
Скриншоты
Со скриншотами не всё так просто как кажется, особенно в App Store. Нужно запомнить правило "Скриншот игры с девайса ≠ Скриншот в сторе". Нельзя просто так взять и сделать с девайса 5 скриншотов, а потом использовать их как скриншоты для стора. И дело тут не в "маркетинговых ходах", а в требованиях Google Play и App Store.
В Google Play всё проще, поэтому начнём с него. Если вы хотите, чтобы ваша игра полноценно поддерживала планшеты с большим разрешением, нужно заливать отдельные скриншоты для 7' и 10' экранов (это одно из условий отображания надписи о том, что ваше приложение оптимизировано под планшеты). Отсюда логика — делаем исходник скриншота максимально большим (например, 10'), и при надобности делаем более мелкие копии скриншотов для маленьких девайсов.
С App Store всё намного запарнее. Дело в том, что скриншоты для этого стора должны иметь строгие размеры (под каждый девайс от Apple), как будто бы их делали напрямую с этого девайса. На данный момент, чтобы выложить игру в App Store придётся добавить от 1 до 5 скриншотов для каждого разрешения экрана (актуальные требования можно найти на сайте Apple):
- 640x1136 4-Inch Retina 9x16
- 750x1334 4.7-Inch Retina 9x16
- 1242x2208 5.5-Inch Retina 9x16
- 640x960 3.5-Inch Retina 2x3
- 1536x2048 iPad 3x4
- 2048x2732 iPad Pro 3x4
Придётся не просто делать 6 разных размеров, но и при этом 3 разных соотношения сторон (9x16, 2x3, 3x4). То есть с простым скриншотом придётся что-то делать в редакторе (отрезать куски изображения или добавлять новые элементы).
Каждый разбирается с проблемой разных разрешений скриншотов по-своему. Я расскажу про способ, который применил сам. Вместо скриншотов я использовал изображения девайсов с этими скриншотами, нейтральным фоном и локализованными надписями (официальные исходники изображений девайсов для App Store — тут, для Google Play — тут). Получились вот такие наборы скринов:
Такой вариант скриншотов для стора позволяет легко адаптировать картинку под разные соотношения сторон. Например, в моём случае фон просто будет занимать чуть больше места на более "квадратных" девайсах и нижняя часть смартфона будет чуть больше обрезана:
Видеоролик
В Google Play видеоролик задаётся ссылкой на youtube. Из очевидных минусов скажу, что вертикальные видео будут отображаться с чёрными полосами по бокам, это портит впечатление о видео и не позволяет смотреть ролик на девайсе в вертикальном положении. Для горизонтальных видео минусов никаких не вижу. Разве что придётся завести канал на youtube.
В App Store требования к видео гораздо строже:
- Как я уже писал выше, длительность видео ограничена (от 15 до 30 секунд).
- Для разных разрешений экрана нужно загружать разные видео (с фиксированным разрешением).
- Видео в App Store можно загрузить только с OS X (или виртуалки) через Safari.
- Обычное видео в стандартном формате скорее всего не будет соответствовать требованиям Apple (чуть ниже я расскажу как преобразовать ваш ролик в формат, который допускается в App Store).
- Видео в описании не поддерживается на старых девайсах (3.5' iPhone), там будут только скриншоты.
В отличие от скриншотов, для промо ролика в App Store требуется всего 4 разрешения экрана (2 соотношения сторон):
- 640x1136 iPhone 9x16
- 750x1334 iPhone 9x16
- 1080x1920 iPhone 9x16
- 640x1136 iPad 3x4
По сравнению с Google Play в App Store видео реализованы удобнее для пользователей (можно смотреть ролик в нативном разрешении и соотношении сторон, нет ссылок на youtube), но проблемнее для разработчиков, из-за чего многие просто не делают трейлер для App Store, даже если он есть в Google Play.
Если же вы всё-таки решили, что у вашей игры обязательно должен быть ролик в App Store, вот небольшая инструкция по преобразованию вашего видео-файла в файл, который подойдёт для App Store (решение нашёл на Stackoverflow):
- Качаем программу Handbrake.
- Выставляем значения как на картинке ниже и получаем на выходе нужный файл.
Иконки и баннеры
Требования к иконкам в сторах несложные, но некоторые нюансы всё же следует отметить:
- В Google Play размер иконки 512x512, прозрачность допустима.
- В App Store размер иконки 1024x1024, прозрачность запрещена.
Если вы планируете делать одинаковые иконки для обеих платформ, советую сразу создать исходник иконки в размере 1024x1024 или больше (я, например, сделал 2048x2048 на всякий случай) без прозрачности. Когда исходник будет готов, можете сделать из него иконку для Android (например, я делал слегка скруглённые углы с альфа-каналом), также придётся уменьшить файл до 512х512.
Иконку для iOS уменьшаем до 1024x1024. В ней скруглять углы не потребуется, т. к. App Store сам обрезает углы у квадратной иконки.
Помимо иконки в Google Play требуется добавить различные промо-баннеры (для фичеринга). В App Store это не требуется, т. к. если вас захотят зафичерить, вам придёт отдельное письмо от Apple, где будут указаны требования для материалов фичеринга.
Локализация
Если в вашей игре есть локализация, то она должна быть и в описании в сторах, чтобы люди сразу понимали, чего ждать от игры.
Что важно помнить о локализации:
- Если локализация есть, она должна быть качественная (профессиональная). Лучше сделать хорошее описание на английском, чем на 10 языках, но через Google Translate.
- Основной язык в сторе всегда должен быть английский, чтобы люди из стран с не очень популярными языками не наткнулись на, например, русское описание.
- Если на скриншотах есть текст, его тоже придётся локализовать (сразу умножайте количество скриншотов на количество локалей).
- Названия внутриигровых покупок тоже можно (и нужно) локализовывать. Например "Мешок Золота", "Сундук Золота" и т.д.
- Тексты на разных языках занимают разное количество места (и символов, что важно в описаниях). Поэтому краткое описание на немецком может быть намного длиннее, чем краткое описание на английском (и может не поместиться по требованиям Google Play в 80 символов).
- Подвиды одного и того же языка могут очень сильно отличаться. Например, португальский и португальский (бразильский) это два разных языка. Бразильцы не станут играть на португальском (они предпочтут английский), а португальцы не станут играть на бразильском варианте португальского.
Монетизация: цена приложения и инапы
Что нужно знать про монетизацию через сторы:
- Когда вы регистрируете приложение в Google Play, вас просят выбрать тип распространения: бесплатное или платное. Если приложение бесплатное, то его уже никогда не сделать платным. В App Store таких ограничений нет.
- ID инапов уникальны и не удаляются (даже если удалить зарегистрированный инап, создать новый с таким же айди уже не получится). В Google Play уникальны в рамках приложения, а в App Store — в рамках всех приложений одного аккаунта.
- Инапы бывают двух типов: Consumable (расходуемые, например, покупка Золота, Кристаллов или других расходников) и Non-Comsumable (не расходуемые, например, отключение рекламы или Starter Pack, который можно купить только 1 раз).
- Если у вас есть расходуемые инапы, в App Store на ревью у вас скорее всего потребуют внедрить функциональность, позволяющую синхронизировать прогресс между Apple девайсами и восстанавливать прогресс после удаления приложения (чтобы люди, потратившие реальные деньги на что-то в игре, не потеряли это без возможности возврата).
- Если в игре только не расходуемые инапы, в App Store на ревью у вас могут потребовать сделать кнопку "Restore Purchases", которая при нажатии восстанавливает все покупки.
- Фича "Restore Purchases" восстанавливает только Non-consumable покупки, Consumable покупки не восстанавливаются.
- На iOS внутриигровые платежи (в том числе тестовые) не будут работать, пока у вас не указаны реквизиты банка (на этой странице есть чеклист для тех, у кого не работают инапы). В Google Play тестовые платежи работают без указания реквизитов.
- Заведите специальный счёт в банке заранее, чтобы в любой момент можно было начать тестировать инапы (в App Store).
- При регистрации данных о налогах в App Store просто пропускайте все поля, связанные с "U.S. taxpayer", даже не трогайте их, иначе форма будет выдавать ошибку и говорить, что вы не заполнили эти поля (если вы не налогоплательщик США, вы не обязаны заполнять эти поля).
И ещё несколько фактов
- Сейчас ревью в App Store длится около 1-2 дней. Повторное ревью может проходить даже быстрее. Раньше занимало от 5 до 8 дней.
- Если вы не хотите, чтобы игра зарелизилась сразу после ревью или заливки APK, используйте "отложенную публикацию" (в App Store она стоит по умолчанию, а в Google Play нужно отдельно выбирать при каждой публикации).
- У каждого приложения в Google Play и App Store есть возрастной рейтинг (вам нужно будет заполнить форму, которая определит его). Учитывайте это при разработке игры (нужна ли вам какая-то маленькая фича или часть сюжета, которая повысит возрастной рейтинг?).
- После публикации в сторе игра скорее всего не получит ни одного скачивания без пиара или фичеринга. Волшебства не произойдет, поэтому лучше хорошо подготовиться к релизу заранее.
- Залить игру в App Store можно только с OS X или виртуалки (через Application Loader или Xcode), в Google Play достаточно залить APK-файл напрямую через браузер с любой операционки.
Заключение
Спасибо, что дочитали! Если есть вопросы, спрашивайте в комментариях — обязательно отвечу! Если нашли ошибку или неточность, пишите мне в личку. Всем успехов в разработке игр :)