Виджет приглашения и рекомендации игр
Для внешних приложений (нативных Android/iOS или же html5 мобильных игр) существует особый механизм привлечения в игру с помощью виджетов:
Название (widget_id) | Назначение | Описание |
---|---|---|
WidgetInvite | приглашение | Приглашает не играющих на данный момент друзей в игру |
WidgetSuggest | рекомендация | Отсылает рекомендацию игры друзьям. Может быть отослано в том числе играющим в игру |
Вызов виджета
Для вызова необходимо открыть новое окно браузера (или iframe) со специально сформированным URL:
?st.cmd={widget_id}
&st.app={application_id}
&st.signature={signature}
&st.return={return_url}
&st.popup={popup}
&st.nohead={nohead}
Значения всех аргументов URL должны быть закодированы.
Значение параметров
Параметр | Обязательный | Описание |
---|---|---|
st.access_token | Нет | В случае OAuth приложения - требуется указать access_token |
st.app | Да | Идентификатор приложения (application id) |
st.autosel | Нет | Количество друзей, которых следует выбрать автоматически за пользователя. По умолчанию - 0 |
st.comment | Нет | Значения поля ввода текста приглашения по умолчанию |
st.custom_args | Нет | Дополнительные параметры, которые будут переданы при открытии приложения, когда целевой пользователь примет приглашение |
st.popup | Нет | Выполнять автоматическое центрирование и подгонку размеров окна. Возможные значения: on/off (по умолчанию) |
st.nohead | Нет | Отображать ли вверху виджета шапку Одноклассников. Возможные значения: on/off (по умолчанию) |
st.return | Нет | URL, на который будет совершён редирект с результатом выполнения. Если не указан, то результат публикации будет передан через HTML5 postMessage |
st.signature | Да | Цифровая подпись запроса (см. алгоритм подсчета ниже) |
st.state | Нет | Дополнительные параметры, которые в неизмененном виде вернуться в скрипт-обработчик. Рекомендуется использовать этот параметр вместо GET-параметров в st.return, так как параметр участвует в подписи, что исключает его подделку |
st.target | Нет | Список пользователей, которых следует выбрать по умолчанию в общем списке |
st.target_only | Нет | Если установлен в булевское значение, то покажет только друзей, переданных в параметре st.target. Возможные значения: on/off (по умолчанию) |
Расчет подписи запроса st.signature
В качестве секретного ключа при передаче параметра st.access_token используется session_secret_key сессии. Иначе, используется секретный ключ приложения.
Все значения не должны быть закодированы.
При отсутствии какого-то из использующихся параметров его часть не указывается.
Обработка результата
Если в запросе был указан параметр st.return, то после подтверждения публикации пользователь будет перенаправлен на URL, указанный в параметре.
{st.return}?code={code}&selected=[3154325,435345]&sig={signature}
В противном случае будет отправлено HTML5 postMessage-сообщение c JSON объектом:
Если пользователь нажимает кнопку “Отмена”, то в ответе будут code = CANCELLED.