Анонимный режим запуска игр

В ОК есть возможность запускать игры неавторизованными пользователями на следующих платформах:

Для приложений ОК на платформах android и ios анонимный режим не поддерживается.

В данный момент эта возможность находится на этапе beta-тестирования, поэтому для подключения данного режима требуется обратиться к команде игровой платформы ОК, оставив заявку либо на jira.apiok.ru, либо написав на почтовый адрес api-support@ok.ru.

Подключить данную возможность можно только для игр, которые уже запущены в Одноклассниках.

Запуск игры в анонимном режиме

После подключения анонимного режима ваша игра станет доступна для пользователей, которые не авторизованы в ОК.

Это накладывает несколько ограничений:

  • вместо настоящего id пользователя в фрейм игры передаётся logged_user_id = 0;
  • в данный момент практически все методы FAPI недоступны;
  • в данный момент практически все методы OK API недоступны.

Список доступных методов FAPI и OK API будет дополняться в будущем.

Идентификация анонимного пользователя

Для упрощения идентификации анонимных пользователей в фрейм игры передается уникальный идентификатор анонимного пользователя, использующийся в ОК.

Этот идентификатор передается в URL-е игры в виде параметра user_stat_id, например:

user_stat_id=bea895a5-8a8d-4b87-a0fa-bb242a16e6a6

Идентификатор передается при всех вариантах запуска игры:

  • в анонимном режиме на мобильных платформах;
  • в обычном режиме на мобильных платформах;
  • в анонимном режиме на десктопе;
  • в обычном режиме на десктопе.

Этот идентификатор определяется для пользователя в момент первого захода на сайт Одноклассников и сохраняется как при перезаходах, так и после авторизации, поэтомы вы в том числе можете использовать этот идентификатор для матчинга авторизованного и анонимного пользователей в игре.

Для получения параметра из URL можно воспользоваться методом SDK FAPI.Util.getRequestParameters:

var statId = FAPI.Util.getRequestParameters()[‘user_stat_id’]

Хранение состояния / прогресса пользователя

При запуске игры в анонимном режиме платформа ОК не хранит никакой информации о состоянии пользователя.

Хранения прогресса пользователя в игре должно быть реализовано на стороне игры.

Рекомендуется предусмотреть инструмент трансляции прогресса игры в текстовое представление и, наоборот, при авторизации - из текстового представление в реальный прогресс в игре.

Конвертация анонимного пользователя в авторизованного

Для конвертации анонимного пользователя в реального пользователя необходимо предлагать пользователю авторизоваться в ОК.

Реализовать это можно двумся способами:

  • с помощью метода FAPI.invokeUIMethod(“showLogin”) - это авторизация без дополнительного UI. Пользователя сразу перенаправляет на страницу авторизации, а после успешной авторизации - на страницу игры;
  • с помощью метода FAPI.UI.showLoginSuggestion - авторизацией с показом дополнительного UI от ОК с информацией о предложении авторизоваться. Пользователь может как согласиться пройти авторизацию, так и отказаться.

В качестве параметра метод принимает произвольную строку, в которой вы можете хранить некоторое состояние (state) пользователя:

/*авторизация без подтверждения пользователя*/
function showLogin(){
    FAPI.invokeUIMethod("showLogin", "some_user_state_as_a_string");
}

/*авторизация с подтверждением пользователя*/
function showLoginSuggestion(){
   FAPI.UI.showLoginSuggestion("some_user_state_as_a_string");
}

Если пользователь успешно пройдёт авторизацию в ОК, то он будет перенаправлен в игру. Указанный при вызове метода state будет передан в фрейм игры в параметре saved_state.

С помощью данного параметра вы можете либо перенести прогресс анонимного пользователя для авторизованного пользователя, либо, например, наградить его за авторизацию.

Обратите внимание, что один и тот же пользователь может переходить из неавторизованного в авторизованное состояние неограниченное количество раз и платформа OK всегда будет передавать saved_state после авторизации.

Тестирование анонимного режима игры

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

Ссылка для тестирования на десктопе

Формат ссылки

https://ok.ru/game/APP_SHORTNAME
   ?st.cmd=anonymAppMain
   &st.appId=APP_ID
   &st.forceanon=on

где:

  • APP_SHORTNAME - короткое имя вашей игры;
  • APP_ID - id вашей игры.

Пример ссылки

https://ok.ru/game/quiz
   ?st.cmd=anonymAppMain
   &st.appId=512000589246
   &st.forceanon=on

Ссылка для тестирования на мобильной версии

Формат ссылки

https://m.ok.ru/game/APP_SHORTNAME
   ?st.cmd=appLauncher
   &st.forceanon=on

где:

  • APP_SHORTNAME - короткое имя вашей игры.

Пример ссылки

https://m.ok.ru/game/quiz
   ?st.cmd=appLauncher
   &st.forceanon=on