Общие возможности
Язык
SDK может автоматически определять язык игроков. Если платформа предоставляет язык, то мы его используем или выбираем язык, предпочитаемый игроком.
Узнать язык FREE:
- JavaScript
- Construct 3
- Unity
// Выбранный язык в формате ISO 639-1
gp.language;
// Выбранный язык в формате enum Language ("English", "Russian")
GP_Language.Current();
// Выбранный язык в формате ISO 639-1
GP_Language.CurrentISo();
Установить язык FREE:
- JavaScript
- Construct 3
- Unity
// Формат ISO 639-1 ('ru', 'en', 'fr')
gp.changeLanguage("ru");
// Формат enum Language ("English", "Russian")
GP_Language.Change(Language.English);
// Формат ISO 639-1 ('ru', 'en', 'fr')
GP_Language.Change("ru");
Все поддерживаемы языки:
- Английский:
en
- Русский:
ru
- Французский:
fr
- Итальянский:
it
- Немецкий:
de
- Испанский:
es
- Китайский:
zh
- Португальский:
pt
- Корейский:
ko
- Японский:
ja
- Турецкий:
tr
- Арабский:
ar
- Хинди:
hi
- Индонезийский:
id
Системная информация
Определение устройства
FREE- JavaScript
- Construct 3
- Unity
/**
* Мобильное / десктопное устройство
* @readonly
* @type {boolean}
*/
gp.isMobile;
/**
* Мобильное / десктопное устройство
* @readonly
* @type {boolean}
*/
GP_Device.IsMobile();
Режим экрана: портретный / альбомный
FREE- 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");
}
Информация о хосте игры
FREE- 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
проверять была ли игра перезалита на чужую площадку. В разделе Доверенные сайты
панели управления играми есть переключатель - Включить защиту
. Он позволит блокировать все новые неизвестные хосты игры. В списке хостов вы сможете разрешать доступ нужным хостам.
Серверное время
FREESDK предоставляет доступ к серверному времени.
Оно всегда достоверно, его нельзя изменять через код и изменяя время устройства. Вы можете использовать его в качестве достоверного времени для защиты от накруток.
Получить время FREE:
- 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 уведомит о том, что сработала пауза или продолжение.
Автоматическая пауза происходит при:
- Показ рекламы. Пауза в начале показа и возобновление при закрытии (не при получении награды).
- Сворачивание игры. Пауза при переключении вкладки, сворачивании браузера, переключении приложения, блокировке экрана и возобновление когда игра снова видима.
Определение паузы FREE:
- JavaScript
- Construct 3
- Unity
/**
* На паузе
* @readonly
* @type {boolean}
*/
gp.isPaused;
/**
* На паузе
* @readonly
* @type {boolean}
*/
GP_Game.IsPaused();
Установить паузу вручную FREE:
- JavaScript
- Construct 3
- Unity
// Поставить на паузу
gp.pause();
// Возобновить
gp.resume();
// Поставить на паузу
GP_Game.Pause();
// Возобновить
GP_Game.Resume();
События паузы и продолжения FREE:
- JavaScript
- Construct 3
- Unity
// Поставили на паузу
gp.on("pause", () => {});
// Возобновили игру
gp.on("resume", () => {});
// Подпишитесь на событие
private void OnEnable()
{
GP_Game.OnPause += Pause;
}
private void Pause()
{
Debug.Log("is Pause");
}
Фоновое изображение игры
FREEВы можете установить фон игры.
Метод установки фона:
- 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.
Старт игры
FREEНекоторым площадкам для уведомления о начале игры требуется метод старта.
- JavaScript
- Construct 3
- Unity
gp.gameStart();
В Construct 3 вызов происходит автоматически
GP_Game.GameReady();
Вы так же можете вызвать событие автоматически.
Геймплей
FREEДля некоторых площадок, например POKI и CrazyGames нужно вызывать методы старта и завершения геймплея. Их нужно вызывать непостредственно перед началом игрового процесса и сразу после завершения. Например в начале уровня и конце уровня.
- JavaScript
- Construct 3
- Unity
// Уведомить о запуске геймплея
gp.gameplayStart();
// Уведомить о завершении
gp.gameplayStop();
// Уведомить о запуске геймплея
GP_Game.GameplayStart();
// Уведомить о завершении
GP_Game.GameplayStop();
Оставайтесь на связи
С другими разделами документации вы можете ознакомиться здесь. Для начала работы вы можете ознакомиться с нашими туториалами.
Сообщество GamePush в Telegram
: @gs_community.
Для ваших обращений e-mail
: [email protected]
Желаем вам успехов!