Создание приложения и выдача ролей пользователям
Для получения id и ключей приложения необходимо его создать по инструкции.
После создания приложения в него можно добавить пользователей на время разработки. Нажмите на ссылку Разработчики и выдайте необходимые права (см. роли пользователей).
Параметры приложения
При открытии приложения на Одноклассниках ему передается особый набор GET-параметров для идентификации пользователя и возможности интеграции с API.
В зависимости от платформы, на которой запущено приложение (полная версия сайта, мобильная версия сайта), ему могут передаваться разные наборы параметров:
- если приложение запущено на полной версии сайта, то ему передается параметр container со значением true;
- если приложение запущено на мобильной версии сайта, то ему передается параметр mob со значением true.
Приведенные ниже параметры передаются приложениям, открывающимся в iframe:
- как параметры запроса для HTML-приложений;
- как flashvars для Flash-приложений.
| Параметр | Обязателен | Тип | Описание |
|---|---|---|---|
| api_server | Да | String | Основной URL API-сервера, например: https://api.ok.ru/ |
| apiconnection | Да | String | Имя соединения |
| application_key | Да | String | Открытый ключ приложения |
| auth_sig | Да | String | MD5-хеш параметров logged_user_id+session_key+application_secret_key. Может использоваться для упрощенной проверки вошедшего в систему пользователя |
| authorized | Да | Number | 1, если пользователь авторизовал приложение; 0 в ином случае |
| container | Нет | Boolean | Будет передан со значением true, если приложение открыто внутри нативного приложения или iframe (при этом дополнительная шапка из widget.getWidgetContent не требуется) |
| mob | Нет | Boolean | Будет передан со значением true, если приложение открыто на мобильной версии сайта |
| mob_platform | Нет | String | Мобильная платформа, на которой запущена игра. Параметр передаётся только если mob=true. Список возможных значений: - androidweb - мобильный браузер на платформе Android; - android - android-приложение ОК; - iosweb - мобильный браузер на платформе iOS; - ios - iOS-приложение ОК; - mobweb - все остальные случаи |
| custom_args | Нет | String | Кастомные параметры, передаваемые, когда пользователь открывает кастомную ссылку в ленте друга, принимает приглашение друга или просматривает оповещение от друга |
| first_start | Нет | Number | 1, если это новый инсталл |
| header_widget | Нет | String | Название мобильного виджета заголовка, который должен быть показан на страницах приложения |
| logged_user_id | Да | Long | Идентификатор авторизованного пользователя, который является постоянным |
| referer | Нет | String | Идентификатор способа, зависит от refplace. Для способов, связанных с пользователем, это идентификатор друга |
| refplace | Нет | String | Способ запуска приложения (см. ниже) |
| session_key | Да | String | Ключ сессии пользователя в приложении |
| session_secret_key | Да | String | Секретный ключ сессии пользователя в приложении |
| sig | Да | String | MD5-хеш текущего запроса и application_secret_key |
| web_server | Нет | String | Адрес веб-сервера Одноклассников, с которого запущена игра |
| payment_promo_active | Нет | Boolean | Есть ли активная промо-акция для показа перед игрой |
| new_sig | Нет | Boolean | Используется ли новый формат подписи |
| ip_geo_location | Нет | String | Геопозиция пользователя, определенная по его IP-адресу |
Способы запуска приложения
| refplace | Описание |
|---|---|
| direct | Прямая ссылка (https://ok.ru/games/[short-name]) |
| catalog | Из любого места в каталоге приложений или приложениях пользователя (устарело) |
| banner | Из баннера в каталоге приложений |
| banner_text | Из баннера (текст баннера) |
| banner_img | Из баннера (картинка баннера) |
| friend_invitation | Пользователь принял приглашение друга |
| friend_feed | Из записи в ленте друга |
| friend_notification | Из оповещения в панели инструментов |
| present | Из подарка |
| present_tooltip | Из подарка (тултип) |
| common_apps | “Вас объединяет с другом” |
| user_apps | Из каталога: мои приложения |
| friend_apps | Из каталога: приложения друга |
| recommended_apps | Из каталога: рекомендованные приложения |
| new_apps | Из каталога: новые приложения |
| top_apps | Из каталога: топ приложений |
| pay_attention_apps | Из каталога: обратите внимание |
| app_search_apps | Из каталога: поиск по приложениям |
| shops_catalog_apps | Из каталога: магазины и услуги |
| our_apps | Из каталога: наши приложения |
| short_apps | Из каталога: развлечения |
| app_preset | Из тематической подборки приложений |
| showcase_apps | Из каталога: рекомендуемые по жанру |
| rb_9 | Ссылка под аватаркой пользователя. Появляется, если пользователь подсел в игру |
Полный список источников запуска приложения - ApplicationReferencePlace.
Для некоторых из способов запуска есть также вариант с префиксом passive_.
Разница между passive и стандартным - в том, откуда именно из UI пользователь запустил игру. В этом случае непассивный вариант - это выскакивающая независимо от действия пользователя нотификация, рекомендация и т.д., а пассивный - случай, когда элемент не выделен для пользователя особым образом и запускается стандартно.
Например:
passive_friend_suggest 
friend_suggest 

