Контрольный список качества игровых сервисов Google Play

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

Этот документ поможет вам сосредоточиться на ключевых аспектах качества, набора функций и пользовательского интерфейса, которые могут оказать существенное влияние на успех вашей игры. Для каждой основной области представлен контрольный список минимальных требований, лучших практик и полезных улучшений. Чтобы предоставить игрокам наилучший продукт, следуйте рекомендациям контрольного списка в максимально возможной степени.

1. Войдите в систему

Следующие задачи контрольного списка относятся к реализации функции входа в систему в вашей игре. Узнайте больше о том, как работает вход в систему и как его следует реализовать, в разделе «Концепции входа в систему» . Примеры кода для реализации входа в мобильные игры см. в разделе Реализация входа в Android .

ИДЕНТИФИКАТОР Важность Описание
1.1 Необходимый Авторизируйте игроков с помощью игровых сервисов Google Play.
1.1.1. Автоматически регистрируйте игроков при запуске игры; использовать ручной вход в качестве резервной копии

Автоматический вход позволит игрокам быстро аутентифицироваться и авторизоваться для использования полного набора функций, предоставляемых игровыми сервисами Google Play.

Если пользователь откажется, ваше приложение должно предоставить ему возможность войти в систему позже (например, с помощью кнопки в меню игры и т. д.). Кнопку входа в систему должно быть легко найти игрокам; например, он должен быть доступен с главного экрана или расположен на экране «Настройки». Эта кнопка не должна быть спрятана на несколько уровней в меню игры.

1.2 Хорошо иметь Следуйте рекомендациям Google по брендингу.

Чтобы предоставить игрокам комплексный, привлекательный и последовательный опыт, внедрите рекомендации по брендингу игровых сервисов Google Play .

1.3 Хорошо иметь Напомните игрокам, что они вошли в систему.

Дайте вошедшим в систему игрокам соответствующее напоминание или сигнал, когда ваша игра выполняет какое-либо действие от их имени. Например, когда вошедший в систему игрок завершает уровень, вы можете предоставить такое сообщение, чтобы указать, что счет и достижения игрока автоматически загружаются: «Вы вошли в систему с помощью Google. Ваши достижения и результаты будут сохранены автоматически. ."

1,4 Необходимый Резервное копирование прогресса игрока с помощью идентификатора игровых сервисов Play.

Чтобы игроки не потеряли свой прогресс при переключении или перезагрузке устройства, а также если они играют на нескольких устройствах, убедитесь, что их прогресс сохранен в решении для сохранения в облаке, и используйте идентификатор игровых сервисов Play в качестве ключа ( безопасно , если вы используете свой собственный). внутренний игровой сервер. Когда игроки входят в систему со своим идентификатором игровых сервисов Play, проверьте, существует ли прогресс для этой учетной записи, и если да, позвольте игроку продолжить с того места, где он остановился. Вы можете использовать собственное решение для сохранения в облаке или сохраненные игры Play Games Services.

Если пользователь не вошел в систему, попробуйте сохранить прогресс игрока локально, а затем синхронизируйте этот прогресс, когда игрок в конце концов войдет в систему. Это помогает предотвратить потерю любого прогресса игрока, если игрок откладывает вход в вашу игру.

2. Достижения

Следующие задачи из контрольного списка применимы к реализации функции «Достижения» в вашей игре.

ИДЕНТИФИКАТОР Важность Описание
2.1 Необходимый Убедитесь, что все достижения достижимы.

Игроки должны иметь возможность разблокировать все созданные вами достижения.

2.2 Лучшая практика Сделайте достижения различимыми.

Все изображения, текст и описания должны быть уникальными для всех достижений.

2.3 Лучшая практика Оценивайте достижения пропорционально.

Очки достижений должны быть пропорциональны количеству времени или навыков, необходимых для получения этого достижения.

2.4 Лучшая практика Создавайте достижения для различных уровней сложности.

Включите несколько простых достижений, которые игрок может получить в обычном игровом процессе, ряд достижений средней сложности, для получения которых требуется больше навыков или преданности делу игрока, а также одно или два очень сложных достижения для самых преданных игроков.

Например, на следующем снимке экрана показано трудно заработанное достижение, которое помогает мотивировать и удерживать поклонников игры.

трудно получить достижение, требующее заработать 5 тысяч драгоценных камней
2,5 Хорошо иметь Не загружайте достижения заранее.

Не присуждайте более одного достижения в первые 5 минут игры, так как новички в вашей игре не будут достаточно заинтересованы в этом, чтобы волноваться.

Не определяйте свои достижения так, чтобы они непреднамеренно выдавались слишком рано в игровом процессе. Например, следите за достижениями, которые, скорее всего, будут легко получены в начале игры, например «Пройти уровень, не получив урона» .

2.6 Хорошо иметь Определите достижения, связанные с захватывающими игровыми действиями.

Выбирайте метрики для создания достижений, которые сделают вашу игру более привлекательной и воспроизводимой (например, «количество убитых зомби» является более интересным показателем, чем «количество миль, пройденных вашим персонажем» ).

2,7 Хорошо иметь Используйте цветные значки достижений.

Игровые сервисы Google Play используют версии значков достижений в оттенках серого, чтобы показать, заработаны они или нет. Если вы ограничены в использовании только черных (или полностью белых) значков достижений, отображайте их на цветном фоне.

2,8 Хорошо иметь Минимизируйте использование скрытых достижений.

Скрытые достижения следует использовать только во избежание внутриигровых спойлеров; они не должны быть нормой.

2,9 Хорошо иметь Избегайте достижений, которые слишком зависят от случайности.

«Найти 100 сундуков с сокровищами» — лучшее достижение, чем «Найти предмет, который с вероятностью 1% появится в сундуке с сокровищами».

2.10 Хорошо иметь Думайте как «Охотник за достижениями».

Некоторые игроки будут пытаться заработать каждое созданное вами достижение. Постарайтесь предоставить достижения, соответствующие этой категории игроков. Избегайте создания достижений, которые слишком зависят от элементов, находящихся вне контроля игрока, или которые не могут быть получены после того, как игрок принял решение в игре.

2.11 Хорошо иметь Убедитесь, что значок вашего достижения отображается правильно.

Когда значок достижения отображается во всплывающем сообщении Android, он накладывается на круг, а его внешние углы скрываются. Убедитесь, что ваша иконка по-прежнему выглядит хорошо в этих обстоятельствах.

3. Таблицы лидеров

Следующие задачи из контрольного списка применимы для реализации функции таблицы лидеров в вашей игре.

ИДЕНТИФИКАТОР Важность Описание
3.1 Лучшая практика Сделайте таблицы лидеров видимыми в главном меню и после перехода по клавишам.

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

3.2 Лучшая практика Определите верхние пределы баллов, которые могут быть отправлены.

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

3.3 Лучшая практика Используйте собственные значки.

Создайте собственный значок для каждой определенной вами таблицы лидеров; не используйте просто значок своей игры, так как он будет плохо отображаться в приложении Google Play Games.

3.4 Лучшая практика Поддерживайте соответствующую частоту представления результатов.

Отправляйте результаты после критических переходов в игре, например, в конце уровня или когда игровой персонаж игрока умирает. В играх без критических переходов (например, в играх типа «бесконечный раннер») разумно определите, как часто отправлять результаты. Результаты не должны подаваться непрерывно или каждую секунду.

3,5 Хорошо иметь Используйте оценочные теги.

Теги результатов — это дополнительные фрагменты данных, которые могут быть отправлены вместе с вашими оценками. Например, вы можете реализовать тег счета в качестве флага, подтверждающего, что отправленный игроком счет действителен.

Пользовательские таблицы лидеров также могут считывать данные этого тега. Если тег счета состоит, например, из идентификатора видео YouTube, содержащего игровой процесс этого игрока, ваша игра может создать ссылку для просмотра этого видео в вашей таблице лидеров.

3,6 Хорошо иметь Творчески создайте собственный пользовательский интерфейс таблицы лидеров.

Если у вас есть ресурсы, создайте собственное представление таблицы лидеров на основе данных таблицы лидеров социальных сетей. Социальные таблицы лидеров обычно создают более интересный опыт, чем публичные таблицы лидеров. Сначала проверьте, есть ли какие-либо записи в социальной таблице лидеров. Если нет, используйте вместо этого публичную таблицу лидеров.

3.7 Хорошо иметь Покажите игрокам, как они противостоят конкурентам.

API списков лидеров поддерживает отображение окон результатов (например, рейтинг игрока в пределах +/-10 позиций). Если вы создаете собственное представление, это может стать мощным способом мотивации взаимодействия. Это может быть показано сразу после критического перехода в игре (например, в конце уровня или когда игровой персонаж игрока умирает). Избегайте ненужных кликов между вашими игроками и информацией об их рейтинге.

4. Друзья

Следующие задачи контрольного списка применимы к реализации API друзей в вашей игре.

ИДЕНТИФИКАТОР Важность Описание
4.1 Необходимый Когда игроки отображаются в списке, покажите значок Play Games рядом с пользователями, у которых есть профиль Play Games.

Этот список может быть существующим списком друзей, списком друзей, в которые недавно играли, или другим списком друзей.

4.1.1. Значок Play Games должен быть кликабельным.
Если пользователь нажимает значок, игра должна вызвать getCompareProfileIntent() или getCompareProfileIntentWithAlternativeNameHints() чтобы показать пользовательский интерфейс, в котором пользователь может сравнить себя с профилем другого игрока.
4.1.2. Поддержка профилей игроков и приглашений друзей для настраиваемых имен игроков в игре.
Если игрок устанавливает в игре другое имя (и не использует имя своего профиля Play Games), используйте getCompareProfileIntentWithAlternativeNameHints() чтобы предоставить это альтернативное имя в игре как для текущего игрока, так и для игрока, которого он просматривает, в качестве контекста. для просмотра профиля и любого приглашения друга, отправленного из него. В качестве значений передавайте только постоянные глобальные имена игроков, а не произвольный пользовательский контент. Это требование означает, что приглашения друзей, отправленные из игры, будут предоставлять контекст обоим игрокам:
  • Получатель увидит внутриигровое имя отправителя приглашения, а также название игры.
  • При просмотре дружбы отправитель по-прежнему будет видеть внутриигровое имя получателя, а также игру, из которой он его инициировал.
4.2 Лучшая практика Используйте разные значки, чтобы показать, какие пользователи Play Games уже являются друзьями, а какие еще не являются друзьями Play Games, но вошли в систему с помощью Play Games. Используйте два значка для пользователей Play Games: один для «Друзья» и один для «Не друзья» (или когда статус дружбы неизвестен).
Значок друзей
Значок «Не друзья»
4.3 Лучшая практика Вызывайте loadFriends() каждый раз при входе в систему и отображайте список друзей, чтобы убедиться, что список друзей актуален. Убедитесь, что игроки видят обновленный список.
4.4 Лучшая практика Если в вашей игре уже есть друзья в игре, используйте API друзей, чтобы увеличить список друзей, добавив друзей из Play Games. Если игрок находится в списке друзей в игре и он также является другом Play Games, отобразите значок «Друзья».
4,5 Лучшая практика Если игрок отклонил запрос на доступ к своему списку друзей, не показывайте диалоговое окно с просьбой о доступе снова, пока пользователь не предпримет действие, подтверждающее, что хочет предоставить доступ (например, не нажмет кнопку «Импортировать друзей из Play Games»). ).
4.6 Лучшая практика Если игрок запретил доступ к списку друзей, дайте ему возможность предоставить доступ к списку друзей в будущем (например, после нажатия кнопки «Импортировать друзей из Play Games»).
4.7 Лучшая практика Если вы используете идентификатор игрока или список друзей на внутреннем сервере, вам необходимо обеспечить безопасный доступ к идентификатору или списку. Кроме того, для некоторых старых игр и игроков идентификатор игрока, возвращаемый Android SDK для игрока, может не совпадать с идентификатором, который видят другие игроки при просмотре этого игрока в той же игре; это особенно актуально при использовании списка друзей. Однако player_id , возвращаемый в REST API, всегда единообразен и всегда является идентификатором, который виден другим игрокам.

5. Квоты и ограничение ставок

Следующие задачи из контрольного списка относятся к управлению квотой и ограничением скорости в вашей игре. Чтобы узнать, как управлять квотой вашей игры и определять случаи превышения ее предела скорости, см. раздел «Управление квотой и ограничением скорости» .

ИДЕНТИФИКАТОР Важность Описание
5.1 Лучшая практика Используйте клиентские библиотеки.

В мобильных клиентских библиотеках используется ряд стратегий, позволяющих сократить количество обращений в службу. Например, данные о достижениях и таблицах лидеров кэшируются, поэтому игроки могут просматривать свои достижения так часто, как им хочется, не требуя от службы выполнения нескольких вызовов.

Клиентская библиотека Android не будет отправлять на сервер результат игрока, если ваш результат не так хорош, как тот, который вы недавно отправили. Библиотека Android также автоматически объединяет частые вызовы увеличения достижений, когда обнаруживает, что ваша скорость ограничена.

5.2 Хорошо иметь Объедините частые звонки с дополнительными достижениями.

Если вы создаете файтинг и у вас есть достижение «Нанесите 5000 ударов», не отправляйте вызов увеличения достижения каждый раз, когда кто-то наносит удар. Подождите до конца раунда, а затем отправьте один increment(xxx) (где xxx — общее количество ударов, нанесенных в этом раунде), или подождите, пока будет нанесено 50 ударов, прежде чем отправлять один increment(50) .

5.3 Хорошо иметь Помните о своем использовании.

Следите за количеством вызовов игровых сервисов Google Play. Даже если вы избегаете превышения ограничений скорости, частые вызовы могут привести к увеличению сетевого трафика и ускорению разрядки аккумулятора устройства. Чтобы этого избежать, можно использовать следующие приемы:

  • При выполнении сохраненных игр сохраняйте частоту раз в несколько минут, а не при каждом нажатии кнопки.
  • Подождите, пока игра игрока закончится, прежде чем отправлять высокий балл.
  • Просмотрите ежедневную квоту вашего приложения, перейдя на панель управления проектом в Google Cloud Platform.

6. Сохраненные игры

Следующие задачи контрольного списка относятся к реализации функции сохраненных игр в вашей игре.

ИДЕНТИФИКАТОР Важность Описание
6.1 Необходимый Добавьте метаданные, чтобы обеспечить дополнительный контекст для сохраненных игр.

При сохранении сохраненной игры вы должны включать как минимум следующие метаданные:

  • Изображение на обложке — снимок экрана, который фиксирует ход игры и напоминает игрокам о том, где они покинули игру.
  • Описание — краткое описание, которое обеспечивает дополнительный контекст для изображения обложки.
  • Временная отметка — указывает, как долго игрок играет в сохраненную игру.
6.2 Необходимый Разрешить игрокам загружать сохраненные игры.

Загрузите правильную сохраненную игру, когда игроки сделают выбор в приложении Play Games или в пользовательском интерфейсе выбора сохраненных игр по умолчанию.