Библиотека VK Bridge

Платформа HTML5 игр Direct Games, платформа игр на vk.com и платформа мини-приложений VK Mini Apps используют для взаимодействия с ВКонтакте библиотеку VK Bridge.

NPM-пакет: https://www.npmjs.com/package/@vkontakte/vk-bridge.

Подключение VK Bridge в игре

Чтобы подключить библиотеку VK Bridge:

Шаг 1. Установите пакет @vkontakte/vk-bridge

  • с помощью npm:
Shell
npm install @vkontakte/vk-bridge
  • или с помощью yarn:
Shell
yarn add @vkontakte/vk-bridge

Шаг 2. Инициализируйте VK Bridge в файле index.js:

JavaScript
import bridge from '@vkontakte/vk-bridge';

Шаг 3. Отправьте событие инициализации VKWebAppInit:

JavaScript
bridge.send("VKWebAppInit", {});

После этого вы можете использовать объект bridge для отправки и получения событий.

Использование VK Bridge

Метод клиентского API вызывается функцией

JavaScript
bridge.send(METHOD_NAME, METHOD_PARAMS);

Параметры

Параметр
Описание
METHOD_NAME string
Имя метода.
METHOD_PARAMS object
Объект с параметрами вызова метода. Структура объекта зависит от метода.

Метод API генерирует событие-результат. Добавление обработчика события-результата возможно с помощью метода subscribe.

Пример. Вызов метода открытия окна покупки предмета внутри игры.

JavaScript
// Отправка события bridge.send("VKWebAppShowOrderBox", {type:"item", item:"item_id_123"}); // Подписка на событие-результат bridge.subscribe((e) = { if(e.type == ‘VKWebAppShowOrderBoxResult’) { console.log(e.data.status); }});

Тип результирующего события равен исходному с суффиксом Result. Например, для события VKWebAppShowRequestBox результат имеет тип VKWebAppShowRequestBoxResult.

Список событий

Полный список событий VK Bridge.

Обратите особое внимание на методы VK Bridge, позволяющие реализовать дополнительные социальные механики в играх:

Методы, доступные только в играх:

Пример использования VK Bridge

Игра, использующая методы VK Bridge: https://github.com/VKCOM/vk-direct-games-example