Используйте этот контрольный список, чтобы убедиться, что ваша игра соответствует всем требованиям и передовым практикам, прежде чем отправлять ее на проверку в Google Play Games на ПК.
Настройте и сконфигурируйте свой проект.
- Загрузите и импортируйте SDK: интегрируйте последнюю версию Play Games PC SDK в вашу среду. Для получения дополнительной информации см. руководство по Unity или руководство по C++ .
- Создайте манифест приложения: создайте файл
manifest.xml, сопоставив<PackageName>с заявленным пакетом Play Console. Для получения дополнительной информации см. руководство по манифестам . - Цифровая подпись исполняемого файла: подпишите свою игру с помощью цифровой подписи Authenticode и защитите сертификат для всех будущих обновлений. Хотя вы можете пропустить этот шаг во время локальной разработки, включив режим разработчика, вы должны подписать свой окончательный исполняемый файл с помощью реального производственного сертификата от известного центра сертификации. Для получения дополнительной информации см. раздел «Цифровая подпись игры» .
- Отформатируйте и отправьте сертификат: отправьте информацию о сертификате своему представителю Google. Файл сертификата должен содержать только информацию, относящуюся к сертификату; убедитесь, что все блоки, не относящиеся к сертификату, удалены. Вы можете использовать OpenSSL для преобразования файлов DER/CER в необходимый формат PEM.
Интегрируйте API и функции.
- Инициализация SDK: Реализуйте логику инициализации SDK, например,
InitializeAsync, во время запуска, прежде чем использовать другие функции. Для получения дополнительной информации см. руководство по инициализации . - Внедрите беспрепятственный вход в систему: автоматическая аутентификация игроков с использованием учетной записи клиента Play Games через API Recall. Для получения дополнительной информации см. руководство по беспрепятственному входу в систему .
- Интеграция системы обеспечения целостности игрового процесса: используйте
IntegrityClientдля запроса токенов и проверки легитимности игровых сессий на вашем бэкэнде. Для получения дополнительной информации см. руководство по обеспечению целостности игрового процесса . - Добавить функцию «Реферер установки Play»: интегрируйте API функции «Реферер установки», если вам необходимо отслеживать источники привлечения пользователей для ПК. Для получения дополнительной информации см. руководство по функции «Реферер установки» .
- Обработка ошибок инициализации: Чтобы использовать SDK, вызовите
GooglePlayInitialize(C++) илиGooglePlayInitialization.InitializeAsync(C#) для инициализации API. Необходимо вызвать этот метод и убедиться, что функция обратного вызова продолжения завершается сInitializeResult::ok()(C++) илиResult.IsOk(C#) возвращаетtrueпрежде чем вы сможете использовать любой другой API. - Обработка обязательного завершения работы: обработайте
kActionRequiredShutdownClientProcess, завершив клиентский процесс как можно скорее. - Обработка требований к установке Google Play Games: обработка ошибки
kSdkRuntimeUnavailableпутем информирования пользователей о необходимости установки Google Play Games и среды выполнения SDK для продолжения работы. - Обработка обновлений Google Play Games: обработка события
kSdkRuntimeUpdateRequiredпутем уведомления пользователей о необходимости обновления среды выполнения Google Play Games.
Внедрить систему выставления счетов за воспроизведение.
- Проверьте типы покупок: Убедитесь, что ваша игра использует только внутриигровые покупки, поскольку регулярные платежи и подписки не поддерживаются. Для получения дополнительной информации см. раздел «Часто задаваемые вопросы о платежах» .
- Запрос сведений о товаре: используйте
QueryProductDetailsдля получения локализованных данных о магазине. Если у вас более 50 товаров, разделите запрос на несколько отдельных вызовов. Для получения дополнительной информации см. руководство по запросу товаров . - Запустите процесс покупки: используйте
LaunchPurchaseFlowдля обработки транзакций в нативном режиме. Если вы закроете окно оплаты, не совершив оплату, возникнет ошибка тайм-аута через пять минут. Для получения дополнительной информации см. руководство по процессу покупки . - Восстановление существующих покупок: Вызывайте функцию
QueryPurchasesпри запуске и в фоновом режиме, чтобы отслеживать неподтвержденные покупки, совершенные на разных устройствах. Для получения дополнительной информации см. руководство по восстановлению покупок . - Безопасная обработка на бэкэнде: проверьте
purchaseTokenна вашем бэкэнде перед предоставлением прав и завершением операции с помощьюAcknowledgePurchaseилиConsumePurchase. Для получения дополнительной информации см. руководство по безопасной обработке .
Протестируйте в режиме разработчика и проведите предзапускное тестирование.
- Тестирование в режиме разработчика: добавьте
<IsDeveloperMode>true</IsDeveloperMode>в манифест и настройте GUID вашего партнера по раннему доступу для локального тестирования в интегрированной среде разработки (IDE). Если у вас нет GUID партнера по раннему доступу, заполните форму выражения заинтересованности . - Управление покупками в режиме разработчика: при тестировании покупок в режиме разработчика используйте приобретенный продукт в течение трех минут, чтобы предотвратить автоматический возврат средств. Для получения дополнительной информации см. раздел «Часто задаваемые вопросы по тестированию ».
- Отключение режима разработчика: Перед упаковкой релизной сборки необходимо как можно скорее удалить тег
<IsDeveloperMode>. Для получения дополнительной информации см. руководство по режиму разработчика . - Передача аргументов при использовании сторонних лаунчеров: все неизвестные аргументы командной строки, полученные лаунчером от клиента Google Play Games, передаются непосредственно запущенному игровому процессу. Для получения дополнительной информации см. руководство по многопроцессной обработке .
- Тестирование с использованием VPN: Если вы проводите тестирование из неподдерживаемого региона, используйте виртуальную частную сеть (VPN) с включенным режимом TUN для получения поддерживаемого IP-адреса. Для получения дополнительной информации см. раздел часто задаваемых вопросов по тестированию VPN .
- Поддержка ярлыков на рабочем столе: Для бесперебойной работы ярлыков см. раздел «Часто задаваемые вопросы о ярлыках» для их запуска. Прямой запуск игры или стороннего лаунчера с помощью ярлыка может привести к ошибкам инициализации.
Упакуйте, протестируйте и опубликуйте свою игру.
- Упаковка WAB: Используйте инструмент публикации Play, чтобы упаковать вашу игру в пакет приложений Windows (WAB). Размер файла WAB не должен превышать 10 ГБ. Для получения дополнительной информации см. руководство по упаковке .
- Отправляйте установщики сторонних лаунчеров: Если вы используете сторонний лаунчер, отправьте его установщик в WAB. Для получения дополнительной информации см. руководство по публикации установщиков .
- Обновите игру и лаунчер или установщик: содержимое вашего пакета, включая установщики лаунчера, должно быть самообновляемым. Управляйте всеми ресурсами, необходимыми вашей игре, включая обновление самого лаунчера.
- Поделитесь информацией о запуске с Google: свяжитесь со своим партнером по Play и сообщите название вашего пакета, страны запуска (используя двухсимвольные коды ISO, например, US, CA, MX), а также дату и время запуска в скоординированном всемирном времени (UTC).
- Настройте доступ для тестирования: укажите внешнюю группу Google, которую можно добавить в список разрешенных для тестирования, работы с документацией и доступа к Google Диску. Предоставьте своему партнеру по Play список адресов электронной почты тестовых учетных записей, поскольку тестовые треки Play Console не поддерживаются для ПК.
- Добавьте форм-фактор ПК: явно добавьте форм-фактор «Google Play Games на ПК» в ваше приложение в консоли Google Play. Если вы не можете получить доступ к этой вкладке, свяжитесь со своим партнером Play, чтобы добавить вашу учетную запись в список разрешенных.
- Настройка требований к ПК: укажите аппаратные требования (ОЗУ, видеокарта, накопитель) для компьютеров под управлением Windows. Для получения дополнительной информации см. руководство по требованиям к ПК .
- Загрузка ресурсов магазина: Загрузите упакованный WAB-файл в производственный раздел и настройте визуальные ресурсы. Для получения дополнительной информации см. руководство по загрузке ресурсов .
- Опубликовать для тестирования в пользовательской среде: выберите «Опубликовать» в консоли Google Play. В отличие от версии для Android, выбор «Опубликовать» в консоли Google Play не запускает публичный релиз. Вместо этого приложение становится доступным для поиска в ваших общих тестовых аккаунтах, что позволяет проводить тестирование в пользовательской среде после проверки Google.
- Официальный запуск: Google контролирует запуск на основе официальной даты запуска, которую вы сообщили своему партнеру по Play.
Переход от API к SDK
Переход с API на SDK — необязательный шаг. Если вы решите перейти на SDK, следуйте этим рекомендациям:
- Удалите устаревшие REST API: сопоставьте устаревшие вызовы API разработчиков Play (например,
purchases.products.get) с функциями нативного SDK на стороне клиента. Для получения дополнительной информации см. руководство по миграции . - Проверьте аргументы командной строки: аргументы командной строки в среде SDK могут отличаться от аргументов в среде API. Убедитесь, что ваш пакет правильно обрабатывает и передает все аргументы. Для получения дополнительной информации см. раздел «Проверка» .
- Проверьте путь в реестре: для беспроблемного перехода на Native SDK конфигурация реестра должна оставаться неизменной по сравнению с предыдущими версиями. Дополнительную информацию см. в руководстве по WAB-файлам .