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 | Не поддерживается |
