Construct #
Установка #
Скачайте актуальную версию instant-games-bridge.c3addon
со страницы релизов на гитхаб или на construct.net.
Перейдите в Menu
→ View
→ Addon Manager
и нажмите Install new addon...
, выберите скачанный файл и нажмите Install
в появившемся окне.
Откройте проект, нажмите правой кнопкой мыши на папке Object types
и выберите Add new object type
. Выберите Instant Games Bridge
и нажмите Insert
.
Настройка #
Установите значение Use Worker
на No
в настройках проекта.
Настройте InstantGamesBridge
нужным образом.
📝 Примечание
Для работы плагина требуется в проект добавитьJS SDK
Вариант №1 (рекомендуемый):
Убрать галочку Load SDK from CDN
.
Скачать файл instant-games-bridge.js
той же версии что и плагин со страницы релизов на гитхаб.
Импортировать в папку Scripts
. Выбрать его и установить Purpose
= Main script
.
Вариант №2:
Поставить галочку Load SDK from CDN
.
Тогда JS SDK
будет грузиться автоматически с гитхаба.
В Custom CDN URL
можно указать свой URL
откуда грузить SDK
.
⚠️ Предупреждение
Вариант №2 не будет работать на Yandex.
Инициализация #
Перед использованием плагина — его необходимо инициализировать.
Вариант №1 (рекомендуемый):
Установить галочку Initialize On Load
в настройках плагина.
Тогда иницализация будет происходить автоматически ещё до старта игры.
Вариант №2:
Добавить экшн Initialize
и дождаться его завершения.
Информация о платформе #
ID платформы #
InstantGamesBridge.PlatformId
Возвращает ID платформы, на которой запущена игра в данный момент.
Возможные значения: playgama
, vk
, ok
, yandex
, crazy_games
, absolute_games
, game_distribution
, vk_play
, mock
.
Язык #
InstantGamesBridge.PlatformLanguage
Если платформа предоставляет данные об языке пользователя — то это будет язык, который установлен у пользователя на платформе. Если не предоставляет — это будет язык браузера пользователя.
Формат: ISO 639-1. Пример: ru
, en
.
Параметр из адресной строки #
InstantGamesBridge.PlatformPayload
С помощью данного параметра можно в ссылку на игру встраивать какую-либо вспомогательную информацию.
Платформа | Формат ссылки |
---|---|
Playgama | — |
VK | vk.com/app8056947#your-info |
OK | — |
Yandex | yandex.com/games/play/183100?payload=your-info |
Crazy Games | crazygames.com/game/example?payload=your-info |
Absolute Games | — |
Game Distribution | — |
VK Play | — |
Mock | site.com/game?payload=your-info |
Информация о домене #
InstantGamesBridge.PlatformTld
Платформа | Возможные значения |
---|---|
Playgama |
null |
VK |
null |
OK |
null |
Yandex | com , ru , etc. |
Crazy Games |
null |
Absolute Games |
null |
Game Distribution |
null |
VK Play |
null |
Mock |
null |
Отправка сообщения платформе #
Сообщение | Описание | Где поддерживается |
---|---|---|
Game Ready |
Игра загрузилась, все загрузочные экраны прошли, игрок может взаимодействовать с игрой. | yandex |
In-Game Loading Started |
Началась какая-либо загрузка внутри игры. Например, когда идёт загрузка уровня. | crazy_games |
In-Game Loading Stopped |
Загрузка внутри игры окончена. | crazy_games |
Gameplay Started |
Начался геймплей. Например, игрок зашёл в уровень с главного меню. | crazy_games |
Gameplay Stopped |
Геймплей закончился/приостановился. Например, при выходе с уровня в главное меню, открытии меню паузы и т.д. | crazy_games |
Player Got Achievement |
Игрок достиг особенного момента. Например, победил босса, установил рекорд и т.д. | crazy_games |
Информация о девайсе #
Тип девайса #
InstantGamesBridge.DeviceType
Возвращает тип девайса, с которого пользователь запустил игру.
Возможные значения: mobile
, tablet
, desktop
, tv
.
Информация об игроке #
Поддержка авторизации #
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true |
OK |
true |
Yandex |
true |
Crazy Games |
false |
Absolute Games |
true |
Game Distribution |
false |
VK Play |
true |
Mock |
false |
Авторизован ли игрок в данный момент #
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true |
OK |
true |
Yandex |
true /
false |
Crazy Games |
false |
Absolute Games |
true /
false |
Game Distribution |
false |
VK Play |
true /
false |
Mock |
false |
ID игрока #
InstantGamesBridge.PlayerId
Если авторизация поддерживается на платформе и игрок авторизован в данный момент – возвращает его ID на платформе, иначе —
null
.
Имя игрока #
InstantGamesBridge.PlayerName
Платформа | Возможные значения |
---|---|
Playgama |
null |
VK | Имя игрока |
OK | Имя игрока |
Yandex | Если игрок авторизован и дал игре доступ к личной информации — имя игрока, иначе —
null |
Crazy Games |
null |
Absolute Games | Если игрок авторизован — имя игрока, иначе —
null |
Game Distribution |
null |
VK Play | Если игрок авторизован — имя игрока, иначе —
null |
Mock |
null |
Аватар игрока #
Количество аватаров #
InstantGamesBridge.PlayerPhotosCount
Получить аватар по индексу #
InstantGamesBridge.PlayerPhoto(index)
Авторизация игрока #
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true |
OK |
true |
Yandex | Если игрок уже авторизован —
true . Если не авторизован — показывается диалоговое окно авторизации. Далее
true /
false зависит от того авторизуется игрок или нет. |
Crazy Games |
false |
Absolute Games | Если игрок уже авторизован или открылось окно авторизации —
true . После авторизации происходит релоад страницы.false в случае ошибки. |
Game Distribution |
false |
VK Play | Если игрок авторизован —
true . Если игрок авторизуется —
true (после этого произойдёт перезагрузка страницы).
false в случае ошибки. |
Mock |
false |
Информация об игре #
Текущее состояние видимости #
InstantGamesBridge.VisibilityState
Возвращает текущее состояние видимости игры (вкладки с игрой).
Возможные значения: visible
, hidden
.
📝 Примечание
Нужно реагировать на изменение состояния видимости. Например, выключать звук в игре приhidden
и включать приvisible
.
Пользовательские данные #
Есть два типа хранилища: локальное local_storage
и внутреннее platform_internal
.
При записи в локальное — данные сохраняются у игрока на конкретном девайсе, при записи во внутреннее — данные сохраняются на серверах платформы.
Тип хранилища по умолчанию #
InstantGamesBridge.DefaultStorageType
Используется автоматически, если при работе с данными не указывать конкретный тип.
Платформа | Возможные значения |
---|---|
Playgama | local_storage |
VK | platform_internal |
OK | Если игрок дал доступ — platform_internal , если нет — local_storage |
Yandex | Если игрок авторизован — platform_internal , если нет — local_storage |
Crazy Games | local_storage |
Absolute Games | Если игрок авторизован — platform_internal , если нет — local_storage |
Game Distribution | local_storage |
VK Play | local_storage |
Mock | local_storage |
Проверка на поддержку #
Платформа | local_storage | platform_internal |
---|---|---|
Playgama |
true |
false |
VK |
true |
true |
OK |
true |
true |
Yandex |
true |
true |
Crazy Games |
true |
false |
Absolute Games |
true |
true |
Game Distribution |
true |
false |
VK Play |
true |
false |
Mock |
true |
false |
Проверка на доступность #
Платформа | local_storage | platform_internal |
---|---|---|
Playgama |
true |
false |
VK |
true |
true |
OK |
true |
Если игрок дал доступ —
true , если нет —
false |
Yandex |
true |
Если игрок авторизован —
true , если нет —
false |
Crazy Games |
true |
false |
Absolute Games |
true |
Если игрок авторизован —
true , если нет —
false |
Game Distribution |
true |
false |
VK Play |
true |
false |
Mock |
true |
false |
Загрузка данных #
Сохранение данных #
Удаление данных #
Реклама #
Banner #
Поддерживается ли баннер #
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true |
OK |
true |
Yandex |
true |
Crazy Games |
true |
Absolute Games |
false |
Game Distribution |
true |
VK Play |
false |
Mock |
false |
📝 Примечание
Чтобы баннеры работали в Yandex — необходимо их включить в настройках игры.
📝 Примечание
Чтобы баннеры работали в Crazy Games — необходимо вindex.html
добавить контейнер<div>
нужных размеров и передать его идентификатор вShowBanner
. Подробнее про размеры: https://docs.crazygames.com/sdk/html5/#responsive-banners.
📝 Примечание
Чтобы баннеры работали в Game Distribution — необходимо вindex.html
добавить контейнер<div>
нужных размеров и передать его идентификатор вShowBanner
. Подробнее про размеры: https://github.com/GameDistribution/GD-HTML5/wiki/Display-Ads.
Показать баннер #
Скрыть баннер #
Состояние баннера #
InstantGamesBridge.BannerState
Текущее состояние баннера. Возможные значения: loading
, shown
, hidden
, failed
.
Interstitial #
Межстраничная реклама. Обычно показывается в момент загрузки уровня/поражения и т.д.
Минимальный интервал между показами #
// Значение по умолчанию = 60 секунд
InstantGamesBridge.MinimumDelayBetweenInterstitial
Между показами Interstitial-рекламы нужно соблюдать временные интервалы. Например, Yandex просто не покажет рекламу если вызывать слишком часто, а VK будет показывать так часто, как вызывается метод.
Для удобства, в данном SDK есть встроенный механизм таймера между показами. Вам нужно лишь указать нужный интервал и можно дёргать метод показа рекламы сколько угодно.
Состояние рекламы #
InstantGamesBridge.InterstitialState
Текущее состояние рекламы. Возможные значения: loading
, opened
, closed
, failed
.
📝 Примечание
Нужно реагировать на изменение состояния рекламы. Например, выключать звук в игре при opened и включать приclosed
иfailed
.
Показать рекламу #
Если поставить true
, то минимальный интервал между показами будет игнорироваться.
Rewarded #
Реклама за вознаграждение.
Состояние рекламы #
InstantGamesBridge.RewardedState
Текущее состояние рекламы. Возможные значения: loading
, opened
, closed
, rewarded
, failed
.
📝 Примечание
Нужно реагировать на изменение состояния рекламы. Например, выключать звук в игре приopened
и включать приclosed
иfailed
.
⚠️ Предупреждение
Награду игроку нужно выдавать только при наступлении состоянияrewarded
.
Показать рекламу #
Социальные взаимодействия #
Поделиться #
Поддерживается ли функционал на платформе.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true |
OK |
false |
Yandex |
false |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Вступить в сообщество #
Поддерживается ли функционал на платформе.
Платформа | Возможные значения |
---|---|
Playgame |
false |
VK |
true |
OK |
true |
Yandex |
false |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Пригласить друзей #
Поддерживается ли функционал на платформе.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true |
OK |
true |
Yandex |
false |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Опубликовать пост #
Поддерживается ли функционал на платформе.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true |
OK |
true |
Yandex |
false |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Добавить в избранное #
Поддерживается ли функционал на платформе.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true |
OK |
false |
Yandex |
false |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Добавить на рабочий стол #
Поддерживается ли функционал на платформе.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK | Android:
true .Desktop, iOS: false . |
OK |
false |
Yandex |
true /
false Доступность опции зависит от девайса игрока, внутренних правил браузера и ограничений платформы. |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Оценить игру #
Поддерживается ли функционал на платформе.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
false |
OK |
true |
Yandex |
true |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Внешние ссылки #
Разрешены ли внешние ссылки на платформе.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true |
OK |
false |
Yandex |
false |
Crazy Games |
true |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Лидерборды #
Поддержка #
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
true* |
OK |
false |
Yandex |
true |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
⚠️ Предупреждение
* В VK с клиента можно только показать нативный popup, для всего остального потребуется свой сервер.
Нативный popup #
Поддерживается ли нативный popup.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK | Android, iOS, Mobile Web:
true Desktop: false |
OK |
false |
Yandex |
false |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Очки игрока #
Запись #
Поддерживается ли запись очков игрока.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
false |
OK |
false |
Yandex |
true |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Чтение #
Поддерживается ли чтение очков игрока.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
false |
OK |
false |
Yandex |
true |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Записи таблицы #
Поддерживается ли чтение полной таблицы.
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
false |
OK |
false |
Yandex |
true |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Внутриигровые покупки #
Существуют два типа покупок — постоянные (например, отключение рекламы) и расходуемые (например, внутриигровые монеты).
Поддержка #
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
false |
OK |
false |
Yandex |
true |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |
Покупка #
Расходование #
Чтобы израсходовать покупку, нужно передать её токен. Токен можно получить с помощью экшена Get Purchases
.
Каталог всех товаров #
Список купленных товаров #
Данный экшн нужен чтобы получить токены покупок. Токен нужной покупки необходимо самостоятельно сохранять, для того чтобы в дальнейшем можно было передать нужный токен в экшн Consume
.
Удаленная конфигурация #
С помощью удаленной конфигурации вы можете управлять настройками вашей игры не выпуская обновлений.
Поддержка #
Платформа | Возможные значения |
---|---|
Playgama |
false |
VK |
false |
OK |
false |
Yandex |
true |
Crazy Games |
false |
Absolute Games |
false |
Game Distribution |
false |
VK Play |
false |
Mock |
false |