Приложение

Для получения 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ДаStringMD5-хеш параметров logged_user_id+session_key+application_secret_key. Может использоваться для упрощенной проверки вошедшего в систему пользователя
authorizedДаNumber1, если пользователь авторизовал приложение; 0 в ином случае
containerНетBooleanБудет передан со значением true, если приложение открыто внутри нативного приложения или iframe (при этом дополнительная шапка из widget.getWidgetContent не требуется)
mobНетBooleanБудет передан со значением true, если приложение открыто на мобильной версии сайта
custom_argsНетStringКастомные параметры, передаваемые, когда пользователь открывает кастомную ссылку в ленте друга, принимает приглашение друга или просматривает оповещение от друга
first_startНетNumber1, если это новый инсталл
header_widgetНетStringНазвание мобильного виджета заголовка, который должен быть показан на страницах приложения
logged_user_idДаLongИдентификатор авторизованного пользователя, который является постоянным
refererНетStringИдентификатор способа, зависит от refplace. Для способов, связанных с пользователем, это идентификатор друга
refplaceНетStringСпособ запуска приложения (см. ниже)
session_keyДаStringКлюч сессии пользователя в приложении
session_secret_keyДаStringСекретный ключ сессии пользователя в приложении
sigДаStringMD5-хеш текущего запроса и 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 passive_friend_suggest

friend_suggest friend_suggest