VK Mini Apps

VK Mini Apps, разработанные для платформы ВКонтакте, могут работать и в Одноклассниках. Приложения, использующие библиотеку VK Bridge, не требуют дополнительных изменений за исключением некоторых моментов, рассмотренных ниже. Работа со специфическими возможностями платформы и методами API требует дополнительной поддержки в приложении или на сервере.

Все данные, с которыми работает приложение, являются сущностями Одноклассников. На старте приложение получает параметры запуска такие же как и у ВКонтакте. Дополнительный параметр vk_client=ok указывает, что приложение запущено на платформе Одноклассников.

Поддержка VK ID и VK Pay на данный момент не реализована, но планируется в ближайшее время.

Данные пользователя

Для получения данных пользователя приложению доступны все права доступа VK Mini Apps за исключением:

pages – доступ к wiki-страницам,

docs – доступ к документам.

Платформы

На данный момент VK Mini Apps поддерживаются в официальных мобильных клиентах ( Android с версии 20.11.9 и на iOS с версии 8.59), на web и mobile web версии Одноклассников.

Публикация приложения

Для публикации приложения VK Mini Apps в Одноклассниках необходимо в Панели управления приложением в ВКонтакте включить опцию “Опубликовать в Одноклассниках” и привязать его к пользователю в ОК, подтвердив с помощью OAuth авторизации свой аккаунт и статус разработчика приложения. Приложение появляется на платформе Одноклассников в течении 30 минут и любые изменения синхронизируются также в течении этого времени.

При запуске в Одноклассниках такие приложения получат свой уникальный и отличный от ВКонтакте идентификатор. Секретный ключ остается идентичным приложению в ВКонтакте. Для получения аватара приложения, необходимо загрузить его ВКонтакте размером 576x576. При необходимости вы сможете изменить информацию о приложении (такие как название, описание, аватар и пр.) в настройках приложения в Одноклассниках. Поддержка “режима разработки” (позволяющий указать «URL для разработки») на данный момент в Одноклассниках не реализована, но планируется в ближайшее время. Для полноценной разработки и тестирования приложения в Одноклассниках рекомендуется зарегистрировать отдельное приложение в ВКонтакте.

Следуйте инструкции быстрого запуска приложения в Одноклассниках.

По очевидным причинам любое непримитивное приложение из ВКонтакте не заработает 1 в 1 в Одноклассниках (из-за различий самих сетей, особенностей публичного АПИ и пр.) В таком случае приложение потребует дополнительной доработки. Возможно, понадобиться иметь 2 реализации несовместимого функционала на клиенте и/или даже на сервере, а возможно разработчику будет проще иметь отдельные ветку и инстанс ОК версии приложения, которая максимально переиспользует код основного приложения, но имеет специфичные доработки только для Одноклассников.

Чтобы подать заявку на модерацию и разместить свое приложение в каталоге, выберите одно из ранее загруженных приложений и отправьте его на модерацию. Ознакомиться с общей документацией по правилам регистрации и размещения в Одноклассниках вы можете в разделе Запуск на платформе.

В случае возникших вопросов обращайтесь по адресу api-support@ok.ru.

Особенности использования в Одноклассниках

Публикация топиков

Для публикации топиков от имени приложения используйте метод mediatopic.post, содержащий множество вложенных объектов. Подробнее о его работе и примерах JSON можно ознакомиться тут

Сообщения в группах

Для работы с сообщениями в группах используйте Bot API, подробнее о его работе тут

Рассылка оповещений

Для отправки оповещений от имени приложения воспользуйтесь методом vk.notifications.sendMessage. Его можно вызвать простой заменой https://api.vk.com/method/notifications.sendMessage на https://api.ok.ru/api/vk/notifications.sendMessage. Подробнее о работе метода тут

Таблица совместимости событий VK Bridge в ОК

СобытиеСобытие VK BridgeПлатформаКомментарии по отличиям и порядку взаимодействия
Инициализация VK BridgeVKWebAppInitiOS
Android
web
mobile web
 
Добавление сервиса в избранныеVKWebAppAddToFavorites Не поддерживается
Включение уведомленийVKWebAppAllowNotificationsiOS
Android
web
mobile web
mobile web
 
Закрытие дочернего приложенияVKWebAppCloseiOS
Android
web
mobile web
 
Копирование текста в буфер обменаVKWebAppCopyTextiOS
Android
web
mobile web
 
Выключение уведомленийVKWebAppDenyNotificationsiOS
Android
web
mobile web
 
Скачивание файлаVKWebAppDownloadFileAndroid 
Получение версии официального приложенияVKWebAppGetClientVersioniOS
Android
web
mobile web
Добавлен параметр “app”
Значение параметра для соц. сети Одноклассники = “ok”

В старых версиях android клиента, вместо параметра “app” может встречаться “environment”: “ok”
Открытие другого приложенияVKWebAppOpenAppiOS
Android
web
mobile web
необходимо указывать vk app id
Вызов диалога ShareVKWebAppShareiOS
Android
web
mobile web
 
Нативный просмотр изображенийVKWebAppShowImagesiOS
Android
mobile web
 
Открытие записей на стенеVKWebAppOpenWallPost Не поддерживается
Публикация записей на стенеVKWebAppShowWallPostBoxiOS
Android
web
mobile web
Поддерживаются 2 формата json:

OK - формат описан в методе mediatopic.post

VK - частичная поддержка. Список поддерживаемых полей:

owner_id
from_group
message
attachments (type: photo, video, audio, note, album, market, audio_playlist)
publish_date
lat
long
mark_as_ads
close_comments
Изменение хеша в адресной строкеVKWebAppLocationChangedweb
mobile web
 
Изменение конфигурации приложенияVKWebAppUpdateConfigiOS
Android
web
mobile web
 
Закрытие сервисаVKWebAppViewHideiOS
Android
mobile web
 
Восстановление сервиса из кэшаVKWebAppViewRestoreiOS
Android
mobile web
 
Вызов методов API VKVKWebAppCallAPIMethod Не поддерживается
Вызов методов API OKOKWebAppCallAPIMethodiOS
Android
mobile web
Вызов API методов Одноклассников.
Данное событие и его параметры method, params, request_id и response аналогичны событию VKWebAppCallAPIMethod, в остальном формат входных параметров, результатов, кодов ошибок и пр. соответствует документации REST API Одноклассников.
Получение токена пользователяVKWebAppGetAuthTokeniOS
Android
web
mobile web
Токен выдается только для: friends, photos, video, status, notes, wall, groups, stats, market
Получение e-mailVKWebAppGetEmailiOS
Android
web
mobile web
 
Вызов списка друзей пользователяVKWebAppGetFriendsiOS
Android
Фото передается в другом размере.
Получение геопозицииVKWebAppGetGeodataiOS
Android
web
mobile web
 
Вызов карточки контактовVKWebAppGetPersonalCard Не поддерживается
Получение номера телефонаVKWebAppGetPhoneNumberiOS
Android
web
mobile web
 
Получение данных профиляVKWebAppGetUserInfoiOS
Android
web
mobile web
Фото передается в другом размере.
Добавление на экран устройстваVKWebAppAddToHomeScreenAndroid 
Получение информации о добавлении на экранVKWebAppAddToHomeScreenInfoAndroid 
Показ полноэкранной рекламы пользователюVKWebAppShowNativeAdsAndroid 
Проверка доступности рекламы указанного форматаVKWebAppCheckNativeAdsAndroid 
Открытие камеры для считывания QRVKWebAppOpenCodeReaderiOS
Android
 
 VKWebAppChangeFragmentAndroid 
Отслеживание данных акселерометраVKWebAppAccelerometerStartiOS
Android
 
Прекращение отслеживания данных акселерометраVKWebAppAccelerometerStopiOS
Android
 
Отслеживание данных о вращенииVKWebAppDeviceMotionStartiOS
Android
 
Остановка отслеживания данных о вращенииVKWebAppDeviceMotionStopiOS
Android
 
Отслеживание данных гироскопаVKWebAppGyroscopeStartiOS
Android
 
Остановка отслеживания данных гироскопаVKWebAppGyroscopeStopiOS
Android
 
Выбор контакта из телефонной книгиVKWebAppOpenContactsiOS
Android
 
Добавление Mini App в сообществоVKWebAppAddToCommunityiOS
Android
 
Получение разрешения на отправку сообщений от имени сообщества.VKWebAppAllow
MessagesFromGroup
iOS
Android
web
mobile web
параметр “key” не поддерживается
Получение токена сообществаVKWebAppGetCommunityTokeniOS
Android
Токен выдается только для:
photos — доступ к фотографиям группы,
messages — доступ к сообщениям группы,
manage — доступ к администрированию группы.
Получение информации о сообществеVKWebAppGetGroupInfoiOS
Android
web
mobile web
 
Вступление в сообществоVKWebAppJoinGroupiOS
Android
web
mobile web
 
Выход из сообществаVKWebAppLeaveGroupiOS
Android
web
mobile web
 
Отправка события в сообществоVKWebAppSendPayload Не поддерживается
Отправка уведомления для открытия приложенияVKWebAppSendToClient Не поддерживается
Предпросмотр виджета сообществаVKWebAppShowCommunity
WidgetPreviewBox
 Не поддерживается
Событие платежа в сервисеVKWebAppOpenPayForm Не поддерживается
Открытие редактора историйVKWebAppShowStoryBoxiOS
Android
Не поддерживается:
В объекте story_boxattachment
В объекте renderable_stickerclickable_zones
Изменение размера окна приложенияVKWebAppResizeWindowweb 
Прокрутка окна приложенияVKWebAppScrollweb 
Установка хэшаVKWebAppSetLocationiOS
Android
web
mobile web
 
Работа со статус- и экшн-баромVKWebAppSetViewSettingsiOS
Android
 
Получение значения ключаVKWebAppStorageGetiOS
Android
web
mobile web
 
Получить названия всех переменныхVKWebAppStorageGetKeysiOS
Android
web
mobile web
 
Установка значения переменнойVKWebAppStorageSetiOS
Android
web
mobile web
 
Отклик на столкновениеVKWebAppTapticImpactOccurrediOS 
Отклик, указывающий на успешность выполнения действияVKWebAppTaptic
NotificationOccurred
iOS 
Отклик на изменение выбораVKWebAppTaptic
SelectionChanged
iOS 
Получение информации о фонарикеVKWebAppFlashGetInfoiOS
Android
 
Установка яркости фонарикаVKWebAppFlashSetLeveliOS
Android
 
 VKWebAppCreateHash Не поддерживается
 VKWebAppShowOrderBox Не поддерживается
 VKWebAppRetargetingPixel Не поддерживается
 VKWebAppConversionHit Не поддерживается
 VKWebAppSetSwipeSettings Не поддерживается
 VKWebAppGetConfig Не поддерживается
 VKWebAppGetAds Не поддерживается
 VKWebAppGetLaunchParams Не поддерживается
 VKWebAppGetGrantedPermissions Не поддерживается