Анонимный режим запуска игр
В ОК есть возможность запускать игры неавторизованными пользователями на следующих платформах:
Для приложений ОК на платформах 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) пользователя:
Если пользователь успешно пройдёт авторизацию в ОК, то он будет перенаправлен в игру. Указанный при вызове метода state будет передан в фрейм игры в параметре saved_state.
С помощью данного параметра вы можете либо перенести прогресс анонимного пользователя для авторизованного пользователя, либо, например, наградить его за авторизацию.
Обратите внимание, что один и тот же пользователь может переходить из неавторизованного в авторизованное состояние неограниченное количество раз и платформа OK всегда будет передавать saved_state после авторизации.
Тестирование анонимного режима игры
Перед запуском анонимного режима на реальных пользователей у вас в любой момент есть возможность проверить работоспособность вашей игры в анонимном режиме, зайдя на страницу игры по ссылке особо формата.
Ссылка для тестирования на десктопе
Формат ссылки
?st.cmd=anonymAppMain
&st.appId=APP_ID
&st.forceanon=on
где:
- APP_SHORTNAME - короткое имя вашей игры;
- APP_ID - id вашей игры.
Пример ссылки
?st.cmd=anonymAppMain
&st.appId=512000589246
&st.forceanon=on
Ссылка для тестирования на мобильной версии
Формат ссылки
?st.cmd=appLauncher
&st.forceanon=on
где:
- APP_SHORTNAME - короткое имя вашей игры.
Пример ссылки
?st.cmd=appLauncher
&st.forceanon=on