Общие возможности
Язык
SDK может автоматически определять язык игроков. Если платформа предоставляет язык, то мы его используем или выбираем язык, предпочитаемый игроком.
Узнать язык:
- JavaScript
- Construct 3
- Unity
// Выбранный язык в формате ISO 639-1
gp.language;
// Выбранный язык в формате ISO 639-1
GP_Language.Current();
Установить язык:
- JavaScript
- Construct 3
- Unity
// Формат ISO 639-1 ('ru', 'en', 'fr')
gp.changeLanguage('ru');
// Формат ISO 639-1 ('ru', 'en', 'fr')
GP_Language.Change(Language.ru);
Все поддерживаемы языки:
- Английский:
en
- Русский:
ru
- Французский:
fr
- Итальянский:
it
- Немецкий:
de
- Испанский:
es
- Китайский:
zh
- Португальский:
pt
- Корейский:
ko
- Японский:
ja
- Турецкий:
tr
- Арабский:
ar
- Хинди:
hi
- Индонезийский:
id
Системная информация
Определение устройства
- JavaScript
- Construct 3
- Unity
/**
* Мобильное / десктопное устройство
* @readonly
* @type {boolean}
*/
gp.isMobile;
/**
* Мобильное / десктопное устройство
* @readonly
* @type {boolean}
*/
GP_Device.IsMobile();
Режим экрана: портретный / альбомный
- JavaScript
- Construct 3
- Unity
/**
* портретный / альбомный режим экрана
* @readonly
* @type {boolean}
*/
gp.isPortrait;
/**
* портретный / альбомный режим экрана
* @readonly
* @type {boolean}
*/
GP_Device.IsPortrait();
Подписываемся на событие смены ориентации экрана:
- JavaScript
- Construct 3
- Unity
gp.on('change:orientation', (isPortrait) => {
logger.log('orientation changed', { isPortrait });
});
// Подписываемся на событие
private void OnEnable()
{
GP_Device.OnChangeOrientation += OnChangeOrientation;
}
private void OnChangeOrientation()
{
Debug.Log("orientation changed");
}
Информация о хосте игры
- JavaScript
- Construct 3
- Unity
/**
* GamePush в режиме разработки
* За это отвечает галка dev у нужного источника
* @readonly
* @type {boolean}
*/
gp.isDev;
/**
* Хост игры в доверенных источниках
* За это отвечает раздел Allowed Origins
* @readonly
* @type {boolean}
*/
gp.isAllowedOrigin;
Is Dev Mode - GamePush в режиме разработки. За это отвечает галка dev у нужного сайта в доверенных сайтах.
Is Allowed Origin - Хост игры в доверенных источниках. За это отвечает раздел Доверенный сайты
/**
* GamePush в режиме разработки
* За это отвечает галка dev у нужного источника
* @readonly
* @type {boolean}
*/
GP_System.IsDev();
/**
* Хост игры в доверенных источниках
* За это отвечает раздел Allowed Origins
* @readonly
* @type {boolean}
*/
GP_System.IsAllowedOrigin();
Вы можете через свойство gp.isAllowedOrigin
проверять была ли игра перезалита на чужую площадку. В разделе Доверенные сайты
панели управления играми есть переключатель - Включить защиту
. Он позволит блокировать все новые неизвестные хосты игры. В списке хостов вы сможете разрешать доступ нужным хостам.
Серверное время
SDK предоставляет доступ к серверному времени.
Оно всегда достоверно, его нельзя изменять через код и изменяя время устройства. Вы можете использовать его в качестве достоверного времени для защиты от накруток.
Получить время:
- JavaScript
- Construct 3
- Unity
// Текущее серверное время в формате ISO 8601
gp.serverTime;
// Пример использования
// Час времени в миллисекундах
const HOUR = 60 * 60 * 1000;
// Текущее время
const currentDate = new Date(gp.serverTime);
// Предыдущее время получения награды
const lastDate = new Date(gp.player.get('lastRewardTime') || currentDate - HOUR);
// Если прошел час игрового времени, даем награду
// И обновляем время получения награды
if (currentDate - lastDate > HOUR) {
gp.player.add('gold', 5000);
gp.player.set('lastRewardTime', currentDate.toISOString());
}
// Текущее серверное время в формате ISO 8601
GP_Server.Time();
// Пример использования
DateTime dt = GP_Server.Time();
if (dt > lastDate)
{
GP_Player.AddScore(250);
}
Пауза
Вам доступен механизм контроля паузы в игре. У SDK есть флаг "На паузе", сам по себе он ничего не значит, однако можно завязаться на него, если нужно приостанавливать и продолжать игру. Дополнительно SDK уведомит о том, что сработала пауза или продолжение.
Автоматическая пауза происходит при:
- Показ рекламы. Пауза в начале показа и возобновление при закрытии (не при получении награды).
- Сворачивание игры. Пауза при переключении вкладки, сворачивании браузера, переключении приложения, блокировке экрана и возобновление когда игра снова видима.
Определение паузы:
- JavaScript
- Construct 3
- Unity
/**
* На паузе
* @readonly
* @type {boolean}
*/
gp.isPaused;
/**
* На паузе
* @readonly
* @type {boolean}
*/
GP_Game.IsPaused();
Установить паузу вручную:
- JavaScript
- Construct 3
- Unity
// Поставить на паузу
gp.pause();
// Возобновить
gp.resume();
// Поставить на паузу
GP_Game.Pause();
// Возобновить
GP_Game.Resume();
События паузы и продолжения:
- JavaScript
- Construct 3
- Unity
// Поставили на паузу
gp.on('pause', () => {});
// Возобновили игру
gp.on('resume', () => {});
// Подпишитесь на событие
private void OnEnable()
{
GP_Game.OnPause += Pause;
}
private void Pause()
{
Debug.Log("is Pause");
}
Фоновое изображение игры
Вы можете установить фон игры.
Метод установки фона:
- JavaScript
- Construct 3
- Unity
gp.setBackground({ url: '/bg.png' });
Не реализовано на Unity.
Полные возможности функции:
- JavaScript
- Construct 3
- Unity
gp.setBackground({
// Ссылка на изображение
url: '/bg.png',
// Размытие фонового изображения, px
blur: 10,
// Длительность анимации смены изображения, sec
fade: 5,
});
Не реализовано на Unity.
Вы можете вызывать метод один за другим для смены фоновго изображения, например:
- JavaScript
- Construct 3
- Unity
// Установили фон
gp.setBackground({ url: '/bg.png', blur: 10, fade: 5 });
// Поменяли на другой
gp.setBackground({ url: '/bg2.png', blur: 6, fade: 12 });
Не реализовано на Unity.
Старт игры
Некоторым площадкам для уведомления о начале игры требуется метод старта.
- JavaScript
- Construct 3
- Unity
gp.gameStart();
В Construct 3 вызов происходит автоматически
В Unity вызов происходит автоматически
Геймплей
Для некоторых площадок, например POKI и CrazyGames нужно вызывать методы старта и завершения геймплея. Их нужно вызывать непостредственно перед началом игрового процесса и сразу после завершения. Например в начале уровня и конце уровня.
- JavaScript
- Construct 3
- Unity
// Уведомить о запуске геймплея
gp.gameplayStart();
// Уведомить о завершении
gp.gameplayStop();
Еще не реализовано.
Оставайтесь на связи
С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.
Сообщество GamePush в Telegram
: @gs_community.
Для ваших обращений e-mail
: [email protected]
Желаем вам успехов!