Перейти к содержанию

Подключение MyGames Store🔗

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

Поддержка модулей🔗

На данный момент в версии для Desktop доступно:

Вопрос в GDPR решается на стороне Игрового центра (далее ИЦ) MyGames, равно как и MyGamesSupport.

MyTracker поддерживается только для мобильных платформ.

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

Прежде чем начать🔗

  • Заведите приложение на сайте MRGS с параметром "Платформа" MyGames mygames_mrgs_app
  • Перед первым запуском приложения из ИЦ вам необходимо создать проект на сайте MyGames Store и загрузить в него сборку вашего приложения. Ниже приведена информация по тому, как необходимо это сделать.
  • Добавьте в созданный проект на сайте MRGS идентификатор MyGames AppID (GMRID) или SteamID (Id для эмуляции steam) (полученные при создании проекта на сайте MyGames Store на шаге выше) в соответствующее поле, далее MRGS автоматически загрузит все необходимые данные(название, иконка, и тд), ключи валидации, и заполнит недостающие поля.
  • Включите параметр "Передавать данные в 1link"
  • В случае, если данные не загрузились автоматически, введите на вкладке "Платежи и бонусы" секретный ключ для проверки платежей (в MyGames это "Секрет для эмуляции Steam API (Steam «key»)")
  • Добавьте URL игрового сервера на вкладке "Доп возможности", чтоб получать S2S уведомления о платежах

Создание проекта в MyGames Store🔗

При создании проекта ОБЯЗАТЕЛЬНО необходимо отметить пункт Я хочу мигрировать свою игру из Steam mygames_project_create

Загрузка сборки🔗

Для загрузки дистрибутива со сборкой вашего проекта, следуйте инструкции

Установка сборки🔗

  • Загрузите игровой центр (ИЦ) со страницы MyGames Store.
  • Установите его и зайдите под той учетной записью, которая доступна в настройках вашей команды. Добавьте вашу учетную запись (логин в MyGames) в раздел "Бетатестеров" на сайте MyGames Store mygames_beta_testers
  • С помощью поиска найдите ваше приложение в ИЦ. Установите его и запустите.

Запуск игры не из интерфейса Игрового центра MyGames🔗

В директории с установленным проектом перейдите в директорию <Название вашего проекта>_Data/Plugin/x86_64/. В этой директории вы можете обнаружить файл Fume.ini который был создан автоматически во время первого запуска. Этот файл может вам пригодиться, если вы не хотите каждый раз заливать новую сборку вашего приложения в ИЦ. Вы можете копировать этот файл в директорию <Название вашего проекта>_Data/Plugin/x86_64/ внутри вашей build директории каждый раз после новой сборки и тогда не надо будет загружать проект в ИЦ.

Важно

Платежи будут работать только в том случае, если вы запустили игру через ИЦ. Копирование Fume.ini внутрь сборки не поможет. Т.е. когда вы готовы будете протестировать платежи, вам будет необходимо загрузить свежую сборку в ИЦ, после чего скачать ее и запустить.

Установка пользователя🔗

Для установки пользователя как обычно воспользуйтесь методом SetUserID. Но важно отметить - при запуске из ИЦ и вызове этого метода будет проведена автоматическая привязка установленного пользователя к internal_uid в ИЦ для связки пользователей мобильных приложений и десктопа в 1link, то есть дополнительно вам делать ничего не нужно.

Платежи🔗

Проведение тестовых платежей🔗

Для работы тестовых платежей, при сборке проекта необходимо указать дополнительный #define MY_GAMES_TEST_PURCHASE. Вы можете это сделать в меню Unity -> Edit -> Project Settings -> Player, или с помощью метода PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone, "MY_GAMES_TEST_PURCHASE");

desktop_defines

Внимание!

Этот дефайн должен быть убран в релизной сборке, иначе все платежи будут идти как тестовые.

Данные тестовой карты можно получить в кабинете разработчика MyGames, в разделе "Основные свойства -> URL обратного вызова".

Механизм работы платежей в MyGames Store🔗

Для работы с платежами вам необходимо использовать новый Bank API, который был представлен в версии v2.2.5 Unity. Пожалуйста, изучите документацию на сайте MRGS. Платежи на Desktop работают по нижеописанному сценарию:

Пользователь пытается купить продукт, открывается форма для оплаты. Он либо оплачивает либо нет(может оплатить позже в терминале, например), мы запоминаем orderId. После закрытия формы платежа, MRGS клиент вызовет метод OnReceivePendingPurchase установленного делегата. Это событие означает, что платеж находится в статусе обработки. В этот момент игра может убрать "wait cursor" и позволить пользователю играть. Сервер MRGS эпизодически опрашивает сервер MyGames и узнает статус платежа. Когда статус изменится на "оплачено", MRGS сервер идет в игровой сервер и говорит о том, что оплата прошла. Параллельно (т.е. независимо от серверного сценария) клиент MRGS раз в минуту опрашивает сервер MRGS о состоянии платежа. Когда сервер говорит, что платеж оплачен, клиент MRGS вызовет метод OnReceiveSuccessfulPurchase. В случае ошибки платежа, будет вызван метод OnReceiveFailedPurchase. Если в течении 24 часов оплата не прошла (столько времени дает ДМР на оплату), то статус платежа меняется на отмененный и клиент MRGS сообщит клиенту игры, что платеж был отменен, вызвав метод OnReceiveCancelledPurchase.

Платежи через market.my.games🔗

Подробнее смотрите на отдельной странице

Для реализации платежей через market.my.games не нужен модуль MRGSBank, а также неважно, работает игра через эмуляцию Steam или нет

Работа с уведомлениями🔗

Поддерживаются как локальные, так и push уведомления по стандартной схеме, подробнее смотрите в описании модуля MRGSNotifications

Поиск проблем🔗

Для обнаружения проблем необходимо изучать логи. Их аж три штуки:

Лог самого проекта лежит в директории %APPDATA%..\LocalLow\<имя вашей компании, обычно my.games>\<Название Проекта>\Player.log

Лог библиотеки steam_api.dll (через нее MRGS работает с ИЦ) лежит в директории сборки, далее <Название вашего проекта>_Data/Plugin/x86_64/Fume.log

Лог самого ИЦ находится в директории с ИЦ %APPDATA%\..\Local\GameCenter\main.log


Последнее обновление: 2025-01-21
Дата создания: 2020-09-23