Сохранение в облаке

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

Чтобы соответствовать рекомендациям Google Play Games Level Up по улучшению пользовательского опыта , вашей игре необходимо внедрить решение для сохранения в облаке, которое состоит из двух частей:

  1. Сохранение в облаке

    Сохраняйте состояние игры вашего игрока в облаке. Вы сможете получить к нему доступ, когда он начнет игру. Сервис Play Games Services Saved Games предоставляет такую ​​возможность, но вы можете использовать любое облачное хранилище по вашему выбору.

  2. Разрешение конфликтов для нескольких состояний игры

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

    • Несколько учетных записей на пользователя: обработка случаев, когда один пользователь взаимодействует с приложением, используя разные учетные записи.
    • Конфликты состояний: Устранение несоответствий, возникающих между локальным состоянием игры и состоянием игры, сохраненным в облаке.

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

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

Этот сервис предлагает ряд ключевых преимуществ как для игроков, так и для разработчиков:

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

Чтобы узнать, как реализовать сохранение игр для вашей платформы, см. раздел «Реализация клиентских файлов» .

Основные сведения о сохраненных играх

Сохранённая игра состоит из двух частей:

  • Неструктурированный двоичный блок данных — эти данные могут представлять собой все, что вы выберете, а ваша игра отвечает за их обработку и запись.
  • Структурированные метаданные — дополнительные свойства, связанные с бинарными данными, которые позволяют сервисам Google Play Games визуально отображать сохраненные игры в пользовательском интерфейсе списка сохраненных игр по умолчанию, а также предоставлять полезную информацию в приложении Google Play Games (например, метку времени последнего обновления).

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

Изображения на обложке

Сервис сохранений игр предоставляет не только функции сохранения, но и визуальный интерфейс для пользователя. Настоятельно рекомендуется привязывать соответствующие изображения к файлам сохранений. Если вы используете стандартный пользовательский интерфейс списка сохраненных игр, предоставляемый SDK Play Games, в вашей игре будут отображаться эти обложки. Обложки также могут отображаться в приложении Google Play Games .

Описания

Вы можете добавить краткое текстовое описание содержимого конкретного сохранённого файла игры. Это описание отображается непосредственно игрокам и должно суммировать состояние, которое представляет сохранённый файл; например, «Борьба с гоблинами в тёмном лесу».

Квота

Разработчики не платят за сохраненные игровые данные, хранящиеся в облаке. Вместо этого эти данные учитываются в рамках квоты игрока в Google Drive — вам не нужно об этом беспокоиться. Единственная квота, о которой должны заботиться разработчики игр, — это квота на использование API Google Drive.

Изоляция чтения/записи

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

Офлайн-поддержка

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

Разрешение конфликтов

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

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

Пределы

Сервисы Google Play Games устанавливают ограничения на размер бинарных данных и изображений обложек, составляющие 3 МБ и 800 КБ соответственно.

Метаданные сохраненной игры

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

Свойство Описание
ИДЕНТИФИКАТОР Уникальная строка, сгенерированная сервисами Google Play Games для этой сохранённой игры. Используйте этот идентификатор для ссылки на сохранённую игру в ваших игровых клиентах.
Имя Заданное разработчиком короткое имя для сохраненной игры, например, "Слот сохранения 1" или "Имя игрока_Сохранение1". Это имя не отображается игрокам.
Описание Описание сохранённой игры, предоставленное разработчиком.
Последнее изменение Временная метка в миллисекундах, сгенерированная сервисами Google Play Games, указывающая на момент последнего обновления сохраненной игры.
Время игры

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

Например, значение времени игры 3600000 будет отображаться сервисами Google Play Games как "1 час".

Изображение на обложке Это необязательное свойство, предоставляемое разработчиком, содержащее информацию об изображении обложки .

Внедрение клиентских решений

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