","При использовании связки js + flash в flash-приложении должен быть установлен параметр “wmode=opaque”.","После каждого перехода внутри iframe, необходимо повторно производить инициализацию методом FAPI.init, а также передавать следующие параметры:","api_server","apiconnection","web_server","application_key","session_key","session_secret_key","Использование SDK","С помощью данного SDK вы можете:","работать с REST API Одноклассников;","реализовать социальные механики - публикацию топиков, отправку уведомлений и приглашений в игру между пользователями;","реализовать внутриигровые платежи и подписки;","использовать возможности рекламной монетизации;","работать с окном браузера и фреймом, в котором открыта игра.","Инициализация SDK"," FAPI.init - инициализация SDK должна производиться при первом открытии приложения до вызова какого-либо другого метода SDK, а также при внутренних переходах по фрейму игры.","Внутриигровые платежи"," FAPI.UI.showPayment - диалог на покупку игровой валюты или игровых предметов;"," FAPI.invokeUIMethod(“showPaymentSubscription”) - показ диалога оформления подписки на товар / услугу в игре.","Рекламная монетизация"," FAPI.UI.loadAd - подготовка rewarded-рекламы для показа пользователю во время игровой сессии;"," FAPI.UI.showLoadedAd - показ rewarded-рекламы пользователю во время игровой сессии;"," FAPI.UI.showAd - показ interstitial-рекламы пользователю во время игровой сессии;"," FAPI.UI.requestBannerAds - поиск баннерной рекламы;"," FAPI.UI.showBannerAds - показ найденной баннерной рекламы;"," FAPI.UI.hideBannerAds - скрытие показываемой баннерной рекламы;"," FAPI.UI.isBannerAdsVisible - проверка наличия отображаемой баннерной рекламы;"," FAPI.UI.getBannerFormats - проверка поддерживаемых форматов отображения баннерной рекламы;"," FAPI.UI.setBannerFormat - изменение формата отображения баннерной рекламы;","FAPI.UI.setBannersCount - изменения количества показываемых баннеров (только десктоп);","FAPI.UI.isAdBlockEnabled - проверка наличия блокировщика рекламу (только десктоп).","Социальные механики"," FAPI.UI.postMediatopic - публикация медиатопика с подтверждением со стороны пользователя;"," FAPI.UI.showInvite - диалог приглашения друзей в приложение;"," FAPI.UI.showNotification - диалог отправки уведомлений (уведомления, в отличие от приглашений, можно отправлять пользователям, которые уже используют приложение).","Другие игровые механики"," FAPI.UI.showRatingDialog() - показ окна с предложением установить рейтинг игре.","Интеграция с другими сервисами ОК"," FAPI.UI.joinGroup - предложение вступить в группу.","Анонимные игры"," FAPI.invokeUIMethod(“showLogin”) - авторизация пользователя без его подтверждения;"," FAPI.UI.showLoginSuggestion - авторизация пользователя с его подтверждением.","Работа с REST API"," FAPI.UI.showPermissions - диалог на запрос прав у пользователя (например, на изменение статуса пользователя);"," FAPI.Client.call - вызов методов API с автоматическим расчетом подписи.","Служебные методы","FAPI.Util.getRequestParameters - получение параметров при обращении к приложению;","FAPI.UI.getPageInfo - информация о странице (высота, ширина, позиция прокрутки, позиция iframe приложения);","FAPI.UI.changeHistory - смена текущего URL пользователя;","FAPI.UI.scrollTo - прокрутка страницы к указанной позиции;","FAPI.UI.scrollToTop - прокрутка страницы к началу;","FAPI.UI.setWindowSize - изменение размера контейнера приложения;"," FAPI.invokeUIMethod(“requestFullscreen”) - открытие фрейма игры во весь экран;"," FAPI.invokeUIMethod(“showHideLocation”) - показ подсказки для скролла для закрытия навигационного бара;"," FAPI.invokeUIMethod(“requestDesktopIcon”) - показ окна с предложением сохранить ярлык игры на рабочем столе;"," FAPI.invokeUIMethod(“observeServiceCallbacks”) - подписка на служебные события на устройстве пользователя;"," FAPI.UI.openComplaintForm - вызов леера подачи жалобы в службу поддержки игры (самой игрой).","Другие методы","FAPI.UI.showPaymentPromo - окно с информацией о текущей акции платёжной системы (внутренняя акция ОК);","FAPI.UI.showPortalPayment - диалог на покупку ОКов (внутренней валюты одноклассников)."," FAPI.invokeUIMethod(“updateStickerSets”) - обновление стикер-сетов на стороне мобильного ОК-приложения;","API_callback","Методы из группы FAPI.UI не требуют передачи callback-функции при вызове. После выполнения метода будет вызвана глобальная функция, которую должен реализовать разработчик. Функция должна иметь следующую сигнатуру:","function API_callback(method, result, data);","Здесь:","method - название вызванного метода;","result - результат выполнения (“ok” в случае успеха, “cancel” в случае, если пользователь отменил действие);","data - дополнительная информация, например, для showInvite() – это список id приглашенных друзей, разделенный запятыми, в формате строки."]}

Общая информация

Javascript SDK - это SDK для встроенных приложений, которые представляют собой iframe, контент которого расположен на сервере разработчика.

В данный момент это SDK поддерживается для:

  • всех приложений, запускаемых на нашей веб-плафторме ok.ru;
  • всех новых мобильных приложений, запускаемых на любой из наших мобильных платформ (только часть методов).

Если ваше мобильное приложение всё еще запускается не в iframe, а как отдельная страница, то вы можете сделать запрос на изменение способа запуска вашей игры, написав заявку на [email protected]

Методы, поддерживаемые на мобильной платформе, отмечены специальным значком
Методы, поддерживаемые ТОЛЬКО на мобильной платформе, отмечены значком

Подключение SDK

<script type="text/javascript" src="//api.ok.ru/js/fapi5.js" defer="defer"></script>

При использовании связки js + flash в flash-приложении должен быть установлен параметр “wmode=opaque”.

После каждого перехода внутри iframe, необходимо повторно производить инициализацию методом FAPI.init, а также передавать следующие параметры:

  • api_server
  • apiconnection
  • web_server
  • application_key
  • session_key
  • session_secret_key

Использование SDK

С помощью данного SDK вы можете:

  • работать с REST API Одноклассников;
  • реализовать социальные механики - публикацию топиков, отправку уведомлений и приглашений в игру между пользователями;
  • реализовать внутриигровые платежи и подписки;
  • использовать возможности рекламной монетизации;
  • работать с окном браузера и фреймом, в котором открыта игра.

Инициализация SDK

  • FAPI.init - инициализация SDK должна производиться при первом открытии приложения до вызова какого-либо другого метода SDK, а также при внутренних переходах по фрейму игры.

Внутриигровые платежи

Рекламная монетизация

  • FAPI.UI.loadAd - подготовка rewarded-рекламы для показа пользователю во время игровой сессии;
  • FAPI.UI.showLoadedAd - показ rewarded-рекламы пользователю во время игровой сессии;
  • FAPI.UI.showAd - показ interstitial-рекламы пользователю во время игровой сессии;
  • FAPI.UI.requestBannerAds - поиск баннерной рекламы;
  • FAPI.UI.showBannerAds - показ найденной баннерной рекламы;
  • FAPI.UI.hideBannerAds - скрытие показываемой баннерной рекламы;
  • FAPI.UI.isBannerAdsVisible - проверка наличия отображаемой баннерной рекламы;
  • FAPI.UI.getBannerFormats - проверка поддерживаемых форматов отображения баннерной рекламы;
  • FAPI.UI.setBannerFormat - изменение формата отображения баннерной рекламы;
  • FAPI.UI.setBannersCount - изменения количества показываемых баннеров (только десктоп);
  • FAPI.UI.isAdBlockEnabled - проверка наличия блокировщика рекламу (только десктоп).

Социальные механики

  • FAPI.UI.postMediatopic - публикация медиатопика с подтверждением со стороны пользователя;
  • FAPI.UI.showInvite - диалог приглашения друзей в приложение;
  • FAPI.UI.showNotification - диалог отправки уведомлений (уведомления, в отличие от приглашений, можно отправлять пользователям, которые уже используют приложение).

Другие игровые механики

Интеграция с другими сервисами ОК

Анонимные игры

Работа с REST API

  • FAPI.UI.showPermissions - диалог на запрос прав у пользователя (например, на изменение статуса пользователя);
  • FAPI.Client.call - вызов методов API с автоматическим расчетом подписи.

Служебные методы

Другие методы

API_callback

Методы из группы FAPI.UI не требуют передачи callback-функции при вызове. После выполнения метода будет вызвана глобальная функция, которую должен реализовать разработчик. Функция должна иметь следующую сигнатуру:

function API_callback(method, result, data);

Здесь:

  • method - название вызванного метода;
  • result - результат выполнения (“ok” в случае успеха, “cancel” в случае, если пользователь отменил действие);
  • data - дополнительная информация, например, для showInvite() – это список id приглашенных друзей, разделенный запятыми, в формате строки.