[Из песочницы] Публикация игры в Google Play. Настройка Play Games Plugin для Unity
Всем привет! Решил поделиться своим опытом по добавлению игры в Google Play Console и настройке Play Games Plugin для Unity.
Начнем мы с настройки Unity.
Настройка Unity
Сначала нужно скачать и установить Play Games Plugin.
Для этого идем по этой ссылке, выкачиваем репозиторий, идем в папке current-build, открываем GooglePlayGamesPlugin и устанавливаем его. После этого Google Play Games должны появиться во вкладке Windows.
И должно появиться такое окошко
Перед созданием билда, нужно будет изменить пару настроек в Player Settings. Идем в Edit → Project Settings → Player.
Во вкладке Other Settings указываем следующие поля:
- Package name: Имя пакета вашей будущей игры
- Version: Версия приложения
- Bundle Version Code: На основе нее Google Play определяет какая версия приложения новее. Она не будет отображаться для пользователей
Далее идем во вкладку Publishing Settings.
Здесь нам нужно создать keystore, (подробнее о keystore тут и тут чуть короче).
- Выбираем галочку Create a new keystore
- Выбираем далее Browse Keystore
- Задаем имя, сохраняем
- Заполняем поля с паролем
После этого нужно будет создать Alias:
- Нажимаем на Alias, выбираем Create a new key
- Заполняем поля, кликаем Create key
- Выбираем наш Alias key что мы только что создали
Keystore (по крайней мере в JKS формате), позволяет хранить несколько пар ключей и сертификатов. Для идентификации каждой пары или отдельного сертификата используется алиас. Алиас указывается в исходном коде при доступе к соответствующему ключу или сертификату. Доступ к каждому алиасу ограничивается паролем.
Теперь, каждый раз перед созданием нового билда, вам нужно будет заходить в эти настройки, и вводить пароли от ключей, так что сохраняйте ключи в надежном месте, в случае утраты будут большие проблемы с восстановлением.
Подробнее о всех настройках можно почитать на оф странице Unity.
Если появиться такое окошко после создания билда, то не переживайте, после настройки Google Service мы вернемся в Unity.
Настройка Google Play Console
Для начало нам нужно будет приобрести Google Developer Account, стоит он 25 долларов. Предположим что мы его уже купили.
Открываем ссылку на Google Play Console
Идем во вкладку Все приложения, нажимаем Новое приложение, вводите название, выбираете язык будущего приложения, нажимаете создать.
После создания приложения, откроется страница с вашим приложением.
Тут вам нужно будет заполнить все нужные поля чтобы можно было опубликовать приложение. Можете просто навести на треугольник, и он вам подскажет что вам нужно заполнить.
После заполнения всех необходимых полей, идем во вкладку Версии приложения,
тут вы решаете на какой стадии ваше приложение, и исходя из выбора, переходите во вкладку управление, в моем случае это Альфа тестирование.
Здесь выбираем создать выпуск, подключаем Google Play App Signing в следующем окне (если появилось). Выбираем наш apk файл, после загрузки файла, Google должен автоматически подтянуть версию приложения, и номер бандла (те настройки что вы указывали перед созданием билда) как показано на скриншноте.
И последнее что вам нужно сделать перед созданием выпуска, это заполнить поле «Что нового в этой версии» (не удаляйте тэги языка при заполнении). Нажимаем посмотреть, тут должно быть предупреждение такого типа:
Окей, вам нужно добавить тестировщиков до публикации приложения, сделать это можно в настройках. Выходим из вкладки приложения, на главную страницу, выбираем Настройки, переходим во вкладку Тестировщики и добавляем список (указываете просто почту).
Возвращаетесь в ваше приложение, нажимаем на Управление, тут выбираете каким будет тестирование, открытое или закрытое, выбираете ваш список тестировщиков, нажимаете сохранить.
Возвращаемся на страницу Версии приложения, нажимаем изменить версию, тут все сохранилось что вы делали до этого (включая ваше apk что вы загрузили), просто жмем просмотреть, и нажимает опубликовать (перед публикацией, убедитесь что приложение готово к публикации, иначе у вас будет недействительна кнопка публикации)
После этого проект должен перейти в стадию готовится к публикации, нужно будет подождать пару часов, пока наше приложение провериться.
А пока идет проверка, мы перейдем к настройке игровых сервисов.
Настройка Игровых Сервисов
Игровые сервисы позволяют вам добавлять в игру таблицы лидеров, облачные сохранения, достижения, квесты и т.д.
Переходим на главную страницу, идем во вкладку Игровые сервисы, нажимаем добавить игру, обязательно выбираете что вы не используете Google API пока, нажимаем продолжить.
Тут нам нужно будет привязать игру что мы загрузили ранее к сервису что мы только что создали. Идем во вкладку Связанные приложения и выбираем платформу (в моем случае Андроид), при нажатии на название пакета, должна появиться ваша игра, выбираем ее, крутим чуток ниже, и выбираем настройки которые вам нужны, после этого сохраняем.
После этого вы должны выполнить авторизацию приложения, нажимаете авторизовать и подтверждаете, чуть позже я расскажу об этом.
Если вы хотите использовать облачное сохранение, перейдите во вкладку Сведения об игре и там после описания игры, будет опция Сохраненные игры, включите ее и сохраните изменения (после выбора этой опции, ее нельзя будет изменить после публикации сервиса), тут же прокрутите страницу до конца и включите API Google Диска.
Теперь можете добавлять то что желаете, в моем случае добавлю одну таблицу лидеров.
После того как вы все сделали/добавили, переходим во вкладку Публикация, тут будет указано то что вы еще не сделали, нажимаем опубликовать игру.
Снова нужно будет подождать пару часов.
После публикации
После того как ваша игра будет опубликована, вы сможете найти ее на странице Google Play, и так же нам нужно будет отправить ссылку на наше приложение тестировщикам.
Для этого идем в Управление релизом, Версии приложения, разворачиваем это окошко
и видим ссылку которую нужно будет отправить тестировщикам, переходим по ней.
Тут у нас открывается окно, в котором мы должны будем согласиться на тестирование нашего приложения, нажимаем Участвовать в тестировании
После должно появиться окно что вы стали тестировщиком, на странице будут ссылки откуда вы можете скачать приложение.
Теперь вы можете скачать свое приложение, и протестировать.
Совет : чтобы быстро перейти на вашу страницу приложения в Google Play, наведите на иконку информация справа от названия вашего проекта, и нажмите Найти в Google Play.
Хорошо, вы теперь можете загружать своё приложения из Google Play. Следующий шаг это обновления приложения.
Обновление приложения
Допустим мы что то поменяли в приложении, и теперь мы хотим обновить версию приложения в Google Play.
Для это в Unity в обязательном порядке меняем Bundle Version Code (версию приложения менять не обязательно), и вводим пароли от ключей что были созданы до этого.
После создания билда, идем Google Play Console, открываем приложение что хотим обновить, переходим в Управление релизом → Версии приложения → переходим в Управление, Выбираем в правом верхнем углу Создать выпуск, загружаем наше apk, заполняем поле Что нового (можете скопировать из прошлой версии). Код версии берется из Bundle Version Code, в моем случае это 2.
Нажимаем сохранить, после Посмотреть и жмем опубликовать.
После обновления придется подождать около 30 минут до публикации приложения. После обновления приложения, новая версия должна пройти тестирование на 10 устройствах, вы можете в реальном времени смотреть как проходит тестирование, смотреть видео с запуском, и читать логи. Для этого переходим в приложение → Управление релизом → Отчет о тестировании. Здесь вы найдете список телефонов на которых проводится тестирование, и следить за статусом прохождения.
Чтобы посмотреть видео с запуском, выбираете устройство где тестирование уже завершилось, после этого должно открыться окно с характеристиками телефона, и видео.
п.с. Еще месяц назад можно было смотреть логи под видео, кто знает куда их Гугл подевал?
Обычно тестирование у меня занимает минут 20, после этого нужно еще подождать 10–15 минут до публикации на Google Play. Кстати, будьте аккуратны если вы загружаете несколько версий подряд, не факт что та версия которую вы скачиваете именно последняя, мой совет после публикации можно смело ждать около часа перед тестированием.
Ускоряем тестирование
Согласитесь, если вы тестируете Google Play Services то весь путь от загрузки и до скачивания занимает приличное количество времени (около 40 минут), что совсем не радует. Я сам прошел такой путь когда делал поддержку Google Play Services, было очень больно после каждого маленького изменения ждать 40 минут что бы это протестировать. Как то смотря видео про облачные сохранения, я увидел приложения Nox (ссылка, надеюсь не сочтут за рекламу), который отлично эмулирует Андроид, вы просто создаете новую версию приложения, устанавливаете его в Nox, и все, можете его спокойно тестировать, минуя при этом 30 минут времени, неплохо правда? Но вот есть еще одна загвоздка, сервисы Google Play не будут работать в том случае если вы скачали приложение не из Google Play, но, это можно легко обойти, на это я наткнулся так же в видео про облачные сохранения.
И так, перейдем, идем в приложение → Управление релизом → Подписи приложений, тут перед вами откроется 2 набора сертификатов, вам нужен SHA1 сертификат из раздела Загрузка сертификата, копируете его значение.
Теперь нужно поменять значение сертификата в Google API, для этого идем в Игровые сервисы, выбираем тот к которому привязано ваше приложение, открываем Сведения об игре, крутим в самый низ страницы и видим ссылку, переходим по ней (спасибо гуглу за такой клевый дизайн, иногда требуется несколько минут чтобы найти ссылку).
Откроется вот такая страница, здесь нас интересует раздел Учетные данные
Открываем нашу учетную запись и меняем значение SHA1 сертификата на тот что вы скопировали до этого, и сохраняете.
Важно! Не забудь перед публикацией релизной версии поменять значение сертификата SHA1 на то что из Сертификат для подписи приложения. Иначе у пользователей не будут работать сервисы.
Теперь мы сократили наше тестирование до 5–7 минут, неплохой результат!
Заканчиваем с настройкой Unity
После того как мы все сделали в Google Play Console, мы можем вернуться в Unity и закончить наши настройки.
Для начала откроем Google Play Console и пойдем в Игровые сервисы, и открываем что нибудь из того что мы создали (например рейтинг игроков) и видим там «Получить ресурсы», нажимаем на нее, во вкладке Android копируем все, и открываем Unity.
Открываем Unity, идем во вкладку Window → Google Play Games → Setup → Android setup
Должно будет появиться такое окно
В нем указываем куда сохраним класс, и имя класса, туда же вставляем то что мы скопировали до этого, и нажимаем Setup, должно будет появиться окно о том что настройка прошла успешна.
Вот и все, теперь в этом классе содержатся константы с id-шниками вещей что мы создали.
В конце, решил продублировать все ссылки что были в статье, а также дать ссылки на видео что будут полезны именно при настройке Google Services в коде.
- Про keystore
- О том же, только покороче
- Android Player Settings официальная страница Unity
- Google Play Console
- Play Games Unity Plugin
- Полезные ссылки по Google Service:
- (англ) — Добавление достижений и таблицы лидеров
- (англ) — Облачные сохранения
- (англ) — Тоже про облачные сохранения, очень рекомендую это видео
- (рус) — Публикация игры в Google Play
- (рус) — Встраивание Google Services в игру
- И ссылка на документацию
И на этом все, всем спасибо!