Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @happysanta/vk-apps-sdk with all npm packages installed. Try it out:

var vkAppsSdk = require("@happysanta/vk-apps-sdk")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@happysanta/vk-apps-sdk v1.0.9

JS SDK for Vk apps

@happysanta/vk-apps-sdk

JS SDK для VK apps.

Установка

$ npm i @happysanta/vk-apps-sdk
import VkSdk from "@happysanta/vk-apps-sdk"

Методы

getStartParams

Возвращает объект с параметрами запуска приложения

VkSdk.getStartParams()

init

Инициализация VK Connect
Первое событие, которое Ваше приложение должно отправить официальному приложению, чтобы начать работу с VK Connect.
В противном случае сервис может не работать на мобильных клиентах iOS и Android.

VkSdk.init()

subscribeevent

Подписаться на соббытие VkConnect @param {string} event - Тип события VkConnect @param {function} callback - колбек

VkSdk.subscribeEvent(event, callback)

unsubscribeevent

Отписаться от соббытия VkConnect @param {string} event - Тип события VkConnect @param {function} callback - колбек

VkSdk.unsubscribeEvent(event, callback)

getrequest

Возвращает объект для запроса в VkConnect @param command - Команда в VkConnect @param params - параметры запроса @param successEvent - колбек при успешном выполнении @param failEvent - колбек при неуспешном выполнении @returns {VkConnectRequest}

VkSdk.getRequest(command, params, successEvent, failEvent)

getUserInfo

Получение данных профиля
Позволяет получить основные данные о профиле текущего пользователя.
@returns {Promise}

VkSdk.getUserInfo()

getPhoneNumber

Получение номера телефона
позволяет получить номер телефона текущего пользователя.
Официальное приложение отображает экран с запросом разрешения пользователя на передачу его номера телефона в приложение.
@returns {Promise}

VkSdk.getPhoneNumber()

getEmail

Получение e-mail
Позволяет получить адрес электронной почты пользователя.
После вызова отображает экран с запросом прав на доступ к e-mail.
@returns {Promise}

VkSdk.getEmail()

getGeodata

Получение геопозиции
Позволяет получить данные о геопозиции пользователя. Событие не принимает параметров.
Официальное приложение показывает окно с запросом разрешения на передачу местоположения.
@returns {Promise}

VkSdk.getGeodata()

openContacts

Выбор контакта из телефонной книги
Открывает окно выбора контактов из телефонной книги на устройстве пользователя.
@returns {Promise}

VkSdk.openContacts()

getAuthToken

Авторизация пользователя
Позволяет запросить права доступа у пользователя и получить ключ для работы с API.
Для получения токена без дополнительных прав передайте в параметре пустую строку.
@param {string} scope - Список прав доступа, перечисленных через запятую. Список прав @returns {Promise}

VkSdk.getAuthToken(scope)

callAPIMethod

Вызов методов API
Позволяет получить результат вызова метода API ВКонтакте.
Обратите внимание, что для работы с API нужно передать ключ доступа пользователя с соответствующими правами,
полученный с помощью VKWebAppGetAuthToken
@param {string} method - название метода API. Список методов
@param {Object} params - параметры метода в виде JSON
@param {string} requestId - произвольная строка, которая вернётся вместе с результатом запроса.
Используйте requestId для отслеживания уникальности запросов.
@returns {Promise}

VkSdk.callAPIMethod(method, params, requestId)

share

Вызов диалога Share
Позволяет поделиться ссылкой
@returns {Promise}

VkSdk.share(link)

showWallPostBox

Публикация записей на стене
@param {Object} params - См. описание метода wall.post
Позволяет пользователю опубликовать запись на стене
@returns {Promise}

VkSdk.showWallPostBox(params)

getClientVersion

Получение версии официального приложения
Возвращает номер версии официального приложения ВКонтакте.
@returns {Promise}

VkSdk.getClientVersion()

openPayForm

Платёж VK Pay
Поднимает экран VK Pay для платежа
@param {string} action - pay-to-service|pay-to-user|pay-to-group
@param {Object} params - параметры платёжной формы VK Pay
@returns {Promise}

VkSdk.openPayForm(action, params)

allowNotifications

Включение уведомлений
Позволяет запросить у пользователя разрешение на отправку уведомлений от приложения.
@returns {Promise}

VkSdk.allowNotifications()

denyNotifications

Выключение уведомлений
Позволяет отключить уведомления от приложения.
@returns {Promise}

VkSdk.denyNotifications()

setLocation

Установка хэша
Позволяет установить новое значение хэша
@returns {Promise}

VkSdk.setLocation(location)

allowMessagesFromGroup

Подписка на сообщения сообщества
Позволяет запросить у пользователя разрешение на отправку сообщений от имени сообщества.
@param {int} groupId - идентификатор сообщества
@param {string} key - произвольная строка. Этот параметр можно использовать для идентификации пользователя.
Его значение будет возвращено в событии message_allow Callback API.
@returns {Promise}

VkSdk.allowMessagesFromGroup(groupId, key)

joinGroup

Вступление в сообщество
Позволяет пользователю вступить в сообщество.
@param {int} groupId - идентификатор сообщества
@returns {Promise}

VkSdk.joinGroup(groupId)

openQR

Сканирование QR-кода
Позволяет открыть камеру для считывания QR-кода и получить результат сканирования.
@returns {Promise}

VkSdk.openQR()

openApp

Открытие другого приложения
@param {int} appId - идентификатор приложения, которое должно быть открыто
@param {string} location - хэш, строка после # в URL вида https://vk.com/app123456#
@returns {Promise}

VkSdk.openApp(appId, location)

setViewSettings

Изменение внешнего вида клиента Клиент устанавливает тему для иконок в статус-баре исходя из параметра
status_bar_style и цвет статус-бара исходя из параметра action_bar_color.
@param {string} statusBarStyle - тема для иконок статус-бара. Возможные варианты: "light", "dark"
@param {string} actionBarColor - цвет экшн-бара. Возможные варианты: hex-код (#00ffff), "none" - прозрачный.
Параметр работает только на Android
@returns {Promise}

VkSdk.setViewSettings(statusBarStyle, actionBarColor)

scroll

Прокрутка окна приложения
Инициирует скроллинг окна браузера по вертикали.
@param {int} top - смещение скролла относительно нулевой координаты окна. Верх страницы: top === 0
@param {int} speed @returns {Promise}

VkSdk.scroll(top, speed)

resizeWindow

Изменение размеров окна приложения
Инициирует изменение ширины и высоты элемента IFrame.
@param {int} width - ширина окна. Может принимать значения от 600px до 1000px
@param {int} height - высота окна. Может принимать значения от 500px до 4050px.
@returns {Promise}

VkSdk.resizeWindow(width, height)

getPersonalCard

Вызов карточки контактов
«Карточка контактов» — это то место, где пользователь указывает контактные данные (номер телефона, адрес, e-mail),
которыми он готов поделиться с сервисами сторонних разработчиков.
@param {array} type - массив строк. Возможные значения: phone, email, address
@returns {Promise}

VkSdk.getPersonalCard(type)

Как обновить пакет в npm

Обновить код, в package.json изменить версию, затем:

$ npm adduser // нужно, если пользователь не авторизован
$ npm whoami // проверить авторизован ли пользователь
$ npm publish --access public // если пакет не приватный, иначе не опубликуется

License

MIT.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free