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 Bridge | VKWebAppInit | iOS Android web mobile web | |
Добавление сервиса в избранные | VKWebAppAddToFavorites | Не поддерживается | |
Включение уведомлений | VKWebAppAllowNotifications | iOS Android web mobile web mobile web | |
Закрытие дочернего приложения | VKWebAppClose | iOS Android web mobile web | |
Копирование текста в буфер обмена | VKWebAppCopyText | iOS Android web mobile web | |
Выключение уведомлений | VKWebAppDenyNotifications | iOS Android web mobile web | |
Скачивание файла | VKWebAppDownloadFile | Android | |
Получение версии официального приложения | VKWebAppGetClientVersion | iOS Android web mobile web | Добавлен параметр “app” Значение параметра для соц. сети Одноклассники = “ok” В старых версиях android клиента, вместо параметра “app” может встречаться “environment”: “ok” |
Открытие другого приложения | VKWebAppOpenApp | iOS Android web mobile web | необходимо указывать vk app id |
Вызов диалога Share | VKWebAppShare | iOS Android web mobile web | |
Нативный просмотр изображений | VKWebAppShowImages | iOS Android mobile web | |
Открытие записей на стене | VKWebAppOpenWallPost | Не поддерживается | |
Публикация записей на стене | VKWebAppShowWallPostBox | iOS 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 |
Изменение хеша в адресной строке | VKWebAppLocationChanged | web mobile web | |
Изменение конфигурации приложения | VKWebAppUpdateConfig | iOS Android web mobile web | |
Закрытие сервиса | VKWebAppViewHide | iOS Android mobile web | |
Восстановление сервиса из кэша | VKWebAppViewRestore | iOS Android mobile web | |
Вызов методов API VK | VKWebAppCallAPIMethod | Не поддерживается | |
Вызов методов API OK | OKWebAppCallAPIMethod | iOS Android mobile web | Вызов API методов Одноклассников. Данное событие и его параметры method , params , request_id и response аналогичны событию VKWebAppCallAPIMethod, в остальном формат входных параметров, результатов, кодов ошибок и пр. соответствует документации REST API Одноклассников. |
Получение токена пользователя | VKWebAppGetAuthToken | iOS Android web mobile web | Токен выдается только для: friends , photos , video , status , notes , wall , groups , stats , market |
Получение e-mail | VKWebAppGetEmail | iOS Android web mobile web | |
Вызов списка друзей пользователя | VKWebAppGetFriends | iOS Android | Фото передается в другом размере. |
Получение геопозиции | VKWebAppGetGeodata | iOS Android web mobile web | |
Вызов карточки контактов | VKWebAppGetPersonalCard | Не поддерживается | |
Получение номера телефона | VKWebAppGetPhoneNumber | iOS Android web mobile web | |
Получение данных профиля | VKWebAppGetUserInfo | iOS Android web mobile web | Фото передается в другом размере. |
Добавление на экран устройства | VKWebAppAddToHomeScreen | Android | |
Получение информации о добавлении на экран | VKWebAppAddToHomeScreenInfo | Android | |
Показ полноэкранной рекламы пользователю | VKWebAppShowNativeAds | Android | |
Проверка доступности рекламы указанного формата | VKWebAppCheckNativeAds | Android | |
Открытие камеры для считывания QR | VKWebAppOpenCodeReader | iOS Android | |
VKWebAppChangeFragment | Android | ||
Отслеживание данных акселерометра | VKWebAppAccelerometerStart | iOS Android | |
Прекращение отслеживания данных акселерометра | VKWebAppAccelerometerStop | iOS Android | |
Отслеживание данных о вращении | VKWebAppDeviceMotionStart | iOS Android | |
Остановка отслеживания данных о вращении | VKWebAppDeviceMotionStop | iOS Android | |
Отслеживание данных гироскопа | VKWebAppGyroscopeStart | iOS Android | |
Остановка отслеживания данных гироскопа | VKWebAppGyroscopeStop | iOS Android | |
Выбор контакта из телефонной книги | VKWebAppOpenContacts | iOS Android | |
Добавление Mini App в сообщество | VKWebAppAddToCommunity | iOS Android | |
Получение разрешения на отправку сообщений от имени сообщества. | VKWebAppAllow MessagesFromGroup | iOS Android web mobile web | параметр “key” не поддерживается |
Получение токена сообщества | VKWebAppGetCommunityToken | iOS Android | Токен выдается только для:photos — доступ к фотографиям группы,messages — доступ к сообщениям группы,manage — доступ к администрированию группы. |
Получение информации о сообществе | VKWebAppGetGroupInfo | iOS Android web mobile web | |
Вступление в сообщество | VKWebAppJoinGroup | iOS Android web mobile web | |
Выход из сообщества | VKWebAppLeaveGroup | iOS Android web mobile web | |
Отправка события в сообщество | VKWebAppSendPayload | Не поддерживается | |
Отправка уведомления для открытия приложения | VKWebAppSendToClient | Не поддерживается | |
Предпросмотр виджета сообщества | VKWebAppShowCommunity WidgetPreviewBox | Не поддерживается | |
Событие платежа в сервисе | VKWebAppOpenPayForm | Не поддерживается | |
Открытие редактора историй | VKWebAppShowStoryBox | iOS Android | Не поддерживается: В объекте story_box – attachment В объекте renderable_sticker – clickable_zones |
Изменение размера окна приложения | VKWebAppResizeWindow | web | |
Прокрутка окна приложения | VKWebAppScroll | web | |
Установка хэша | VKWebAppSetLocation | iOS Android web mobile web | |
Работа со статус- и экшн-баром | VKWebAppSetViewSettings | iOS Android | |
Получение значения ключа | VKWebAppStorageGet | iOS Android web mobile web | |
Получить названия всех переменных | VKWebAppStorageGetKeys | iOS Android web mobile web | |
Установка значения переменной | VKWebAppStorageSet | iOS Android web mobile web | |
Отклик на столкновение | VKWebAppTapticImpactOccurred | iOS | |
Отклик, указывающий на успешность выполнения действия | VKWebAppTaptic NotificationOccurred | iOS | |
Отклик на изменение выбора | VKWebAppTaptic SelectionChanged | iOS | |
Получение информации о фонарике | VKWebAppFlashGetInfo | iOS Android | |
Установка яркости фонарика | VKWebAppFlashSetLevel | iOS Android | |
VKWebAppCreateHash | Не поддерживается | ||
VKWebAppShowOrderBox | Не поддерживается | ||
VKWebAppRetargetingPixel | Не поддерживается | ||
VKWebAppConversionHit | Не поддерживается | ||
VKWebAppSetSwipeSettings | Не поддерживается | ||
VKWebAppGetConfig | Не поддерживается | ||
VKWebAppGetAds | Не поддерживается | ||
VKWebAppGetLaunchParams | Не поддерживается | ||
VKWebAppGetGrantedPermissions | Не поддерживается |