Параметры запуска в Одноклассниках

При старте приложения в Одноклассниках платформа передаёт ему дополнительные параметры с информацией о пользователе и источнике запуска. Значения передаются как URL-параметры по адресу, указанному в настройках игры или приложения.

Чтобы передать параметры, укажите их в URL после символа ?, например https://my-app.com/start?param1=value1.

Чтобы получить параметры запуска в коде приложения на стороне пользователя, воспользуйтесь одним из способов:

  • Извлеките значение свойства href объекта window.location.
  • Вызовите событие VKWebAppGetLaunchParams.

Подпись параметров

Чтобы защититься от подмены значений возможной утечки данных, используйте подпись параметров. Подробности — в разделе Подпись параметров запуска.

Параметры

Параметр
Тип
Описание
sign
string
base64-строка — подпись параметров запуска. Используется для обнаружения подмены параметров третьими лицами. Подробнее — в разделе Подпись параметров запуска.
vk_access_token_settings
string
Список прав доступа пользователя, который запустил приложение. Каждое значение в списке соответствует области данных пользователя, к которой можно получить доступ. Значения в списке разделены запятыми, например phone_number,email,geo_data. Полный список разрешений — в документации Одноклассников в разделе Разрешения для приложения.
vk_app_id
integer
Идентификатор связанного приложения ВКонтакте.
vk_are_pushes_enabled
integer
Включены ли у пользователя оповещения от приложения ВКонтакте.
vk_ok_app_id
integer
Идентификатор приложения в Одноклассниках.
vk_are_notifications_enabled
integer
Информация о разрешённых уведомлениях от приложения:    • 0 — отправка уведомлений запрещена.    • 1 — отправка уведомлений разрешена.
vk_client
string
Идентификатор площадки запуска приложения. Для Одноклассников всегда ok.
vk_is_app_user
integer
Информация о том, установил ли пользователь приложение :    • 0 — приложение не установлено.    • 1 — приложение установлено. После того как пользователь впервые запустил приложение, они считаются установленными.
vk_language
string
Язык пользовательского интерфейса приложения.
vk_platform
string
Платформа, на которой было запущено приложение:    • desktop_web_ok — десктопная версия сайта Одноклассники (ok.ru).    • mobile_android_ok — мобильное приложение Одноклассники для Android.    • mobile_iphone_ok — мобильное приложение Одноклассники для iOS.    • mobile_web_ok — мобильная версия сайта Одноклассники (m.ok.ru).
vk_ref
string
Источник запуска приложения ВКонтакте. Для игр и мини-приложений есть свой возможный список значений:    • Список значений для игр    • Список значений для мини-приложений
vk_ok_ref
string
Источник запуска приложения в Одноклассниках. Полный список значений — в документации Одноклассников в разделе Список возможных мест перехода в игру.
vk_ts
integer
Время генерации подписи параметров запуска. Подпись передаётся в параметре sign.
vk_user_id
integer
Идентификатор VK ID пользователя, который запустил приложение.
vk_ok_user_id
integer
Идентификатор пользователя Одноклассников, который запустил приложение.
initial_id
integer
Служебный идентификатор пользователя, который запустил приложение. Параметр initial_id используется для сохранения прогресса, если у пользователя нет привязанного профиля VK ID.
vk_original_vk_id
integer
Значение initial_id. Если у initial_id нет значения, то параметр принимает значение vk_user_id. Если у vk_user_id также нет значения, то initial_id принимает значение vk_ok_user_id.

Параметры vk_user_id, vk_ok_user_id, vk_original_vk_id используются для авторизации пользователя в приложении. Чтобы проверить подлинность полученных данных, вычислите подпись и сравните с полученным значением параметра sign.

Передача произвольных параметров

При необходимости вы можете передавать произвольные параметры в приложение.

Запуск по прямой ссылке

При запуске приложения по прямой ссылке укажите параметры после символа # в адресной строке, например:

https://vk.com/app1234567#param1=12345

Символы после # будут переданы приложению в URL-параметре hash. Этот параметр всегда идёт последним среди остальных передаваемых параметров. Все символы после него являются символами, которые были указаны после # в URL приложения.

Получить параметры можно и с помощью свойства hash объекта window.location. Для отслеживания изменений этого значения в приложении используйте события VKWebAppLocationChanged и VKWebAppChangeFragment библиотеки VK Bridge.

Использование знака вопроса (?) для передачи параметров при запуске по прямой ссылке не работает.

Параметры запуска в настройках приложения

Чтобы указать параметры запуска в настройках приложения, добавьте в URL знак вопроса и параметры, например:

https://my-game.example.com/start-page?param1=12345

Получить эти параметры вы можете так же, как и обычные параметры веб-страниц, например с помощью свойства window.location.search или с помощью события VKWebAppGetLaunchParams.

Использовать символы # в URL-адресах, которые указываются в настройках приложения, нельзя.

Материалы по теме