Система вознаграждений
Как это работает
Система вознаграждений позволяет вам поощрять пользователей делать покупки в магазине за реальную валюту. Если пользователи объединены в кланы, их покупки приносят призовые баллы всему клану.
Вы можете создавать индивидуальные и клановые цепочки наград и выдавать пользователям награды за купленный товар. В игре может быть несколько цепочек наград любого вида. Максимальная длина одной цепочки — 31 шаг. Для каждого шага задается количество призовых баллов, необходимое для его завершения.
Также вы можете создать персонализированную цепочку наград. Персонализация позволяет отображать цепочку только для определенного круга авторизованных пользователей на основе их атрибутов. Персонализированная цепочка наград может быть как индивидуальной, так и клановой.
За каждый шаг в цепочке пользователь может получить от 1 до 10 наград, а клан — от 1 до 10 наград для каждого участника.
В качестве наград можно выдавать следующие типы товаров:
- виртуальные предметы;
- виртуальную валюту;
- пакеты виртуальной валюты;
- бандлы.
Настройка системы вознаграждений
Настройка через Личный кабинет
Перед тем как создавать цепочку наград, вам нужно создать призовые баллы и товары, за покупку которых пользователи и клан будут получать призовые баллы.
Для создания товаров вручную в проекте в Личном кабинете перейдите в раздел Каталог товаров > Все товары. Подробная информация об этом и других способах создания товаров приведена в разделе документации Каталог товаров.
Чтобы создать призовые баллы:
- В проекте в Личном кабинете перейдите в раздел LiveOps-инструменты > Награды.
- Нажмите Создать призовые баллы.
- Задайте необходимые параметры:
- Добавьте изображение (опционально).
- Укажите название.
- Укажите уникальный артикул.
- Если вы создаете клановые призовые баллы, установите флажок Использовать в качестве призовых баллов клана. После создания призовых баллов эту настройку нельзя будет изменить.
- Распределите призовые баллы: выберите товары и укажите, сколько призовых баллов пользователи получат за их покупку. Если в вашем магазине еще нет товаров, вы можете сохранить текущие настройки и вернуться к этому шагу позже.
- Нажмите Добавить строку, чтобы добавить нужное количество товаров.
- Нажмите Создать призовые баллы.
Чтобы создать цепочку наград:
- В проекте в Личном кабинете перейдите в раздел LiveOps-инструменты > Награды.
- Нажмите Создать награду.
- Выберите тип цепочки — Индивидуальная цепочка наград или Клановая цепочка наград.
- Задайте необходимые параметры. Если вы выбрали индивидуальную цепочку наград:
- Укажите название цепочки наград.
- Введите описание.
- В раскрывающемся списке выберите призовые баллы.

- Если вы выбрали клановую цепочку наград:
- В раскрывающемся списке Тип клана выберите тип клана.
- Задайте параметры клановой цепочки наград:
- Введите название цепочки.
- Введите описание.
- Введите название всплывающего заголовка цепочки наград.
- Введите текст всплывающей подсказки: что нужно сделать, чтобы получать награды для клана.
- Добавьте изображение (опционально).
- В раскрывающемся списке выберите призовые баллы.

- Нажмите Далее.
- Нажмите Добавить шаг.
- Укажите следующую информацию для создания шага:
- Название.
- Количество призовых баллов, которые нужно набрать, чтобы получить награду.
- Товар и его количество в награде.
- Нажмите Сохранить.
- После того как вы добавили нужное количество шагов, нажмите Далее.
Если вы хотите сделать цепочку наград персонализированной:
- Активируйте переключатель Персонализированная цепочка наград.
- Выберите один из вариантов отображения цепочки:
- Показывать цепочку определенным пользователям. Укажите условия персонализации. В этом случае цепочка отображается только для авторизованных пользователей, которые соответствуют заданным условиям.
- Показывать цепочку пользователям, которые не соответствуют условиям. В этом случае цепочка отображается, только если для пользователя не найдено ни одной подходящей цепочки наград. Например, если пользователь не авторизован или его атрибуты не соответствуют ни одной персонализированной цепочке.
- Нажмите Далее.
- Укажите период действия цепочки наград.
- Вы можете активировать переключатель Установить ограничение по времени и указать дату и время окончания действия цепочки наград.
- Чтобы прогресс пользователя в цепочке наград сбрасывался автоматически в момент окончания ее периода действия, установите флажок Обновлять прогресс пользователя после завершения цепочки.
- Если вы хотите, чтобы цепочка наград перезапускалась в определенное время, активируйте переключатель Сделать цепочку наград автообновляемой и укажите режим обновления.

- Нажмите Создать.
- В проекте в Личном кабинете перейдите в раздел LiveOps-инструменты > Награды.
- В строке необходимой цепочки нажмите ••• и в раскрывающемся списке выберите Активировать.
Настройка через методы API
Для управления работой системы вознаграждений реализуйте вызов методов подраздела Admin из группы методов Цепочки наград и призовые баллы:
| Задача | Метод API |
|---|---|
| Создать призовые баллы, за которые будет предоставляться доступ к наградам. | Создание призовых баллов. |
| Присвоить призовые баллы одному или нескольким товарам по артикулу. | Настройка призовых баллов для товаров. Пользователи получат эти баллы после покупки товаров. |
| Создать цепочки наград. | Создание цепочек наград. |
| Создать персонализированную цепочку наград. | Передайте в метод Создание цепочек наград условие для отображения цепочки в массиве attribute_conditions. |
| Указать, отображать ли персонализированную цепочку наград пользователю, у которого нет атрибута, указанного в условии. | Передайте в метод Создание цепочек наград параметр can_be_missing со значением true. |
| Задать цепочку наград, которая отображается пользователю, если для него не найдено ни одной подходящей персонализированной цепочки. | Передайте в метод Создание цепочек наград параметр is_always_visible со значением false. |
| Активировать/деактивировать цепочку наград. | Переключение цепочки наград. |
| Удалить определенную цепочку наград. | Удаление цепочек наград. |
| Сбросить призовые баллы и прогресс всех пользователей в цепочке наград. | Сброс цепочки наград. После сброса вы можете обновить срок действия цепочки наград и пользователи смогут снова продвигаться по ней. |
Отображение системы вознаграждений
Отображение через конструктор сайтов
Для корректной работы системы вознаграждений у вас должна быть настроена авторизация пользователей. Для неавторизованных пользователей и индивидуальные, и клановые цепочки отображаются без прогресса. Авторизованные пользователи, не состоящие в клане, видят только индивидуальную цепочку наград, а клановые цепочки наград отображаются как недоступные.


Чтобы цепочки наград отобразились на вашем сайте:
- В проекте в Личном кабинете перейдите в раздел Каналы продаж > Веб-сайты.
- Выберите ваш сайт и нажмите Открыть Site Builder.
- В основной части конструктора выберите место, где вы хотите добавить новый блок и нажмите Добавить блок.
- Выберите блок Система наград.
- В раскрывающемся списке выберите цепочку наград.

- При необходимости настройте цвет кнопок и текста.
- Для проверки цепочки в правом верхнем углу конструктора нажмите Просмотр.

- Чтобы изменения вступили в силу, опубликуйте сайт:
- В правом верхнем углу конструктора сайтов нажмите Опубликовать.
- Установите флажки напротив страниц, которые вы хотите опубликовать.
- Нажмите Опубликовать.
- Отсутствуют незаполненные разделы на сайте (отмечены красным).
- Подписан лицензионный договор с Xsolla.
- Главная страница опубликована или выбрана для публикации. Вы не можете опубликовать дочерние страницы раньше главной.
Особенности отображения призовых баллов через конструктор сайтов
Вы можете выбрать несколько цепочек наград в одном блоке и выбрать способ их отображения: друг под другом или на вкладках. Вы можете настроить отдельно внешний вид для каждой цепочки.
В карточках товаров отображаются призовые баллы только тех цепочек наград, которые были добавлены на сайт. Но при покупке товаров участники клана получают призовые баллы для всех активных цепочек наград независимо от их отображения на сайте.
Пример:
У вас настроены 2 цепочки наград: индивидуальная и клановая. У первой цепочки призовой балл с названием
В каталоге товаров есть товар
Когда вы добавляете блок Магазин в конструкторе и выбираете тип и группу товаров, в которой есть товар
- Если вы не добавили цепочку наград на сайт, призовые баллы у товара
Sword не будут отображаться. - Если вы добавили на сайт только индивидуальную цепочку наград и она активна, то у товара
Sword отображается только 20Crystals . - Если вы добавили на сайт только клановую цепочку наград и она активна, то у товара
Sword отображается только 40Magic Bubbles . - Если вы добавили на сайт обе цепочки наград — индивидуальную и клановую, то у товара
Sword отображается и 20Crystals , и 40Magic Bubbles .
Для участников клана 40
Для пользователей без клана 40
Отображение цепочек наград через API
- В интерфейсе приложения реализуйте элементы для отображения шагов цепочки наград.
- Реализуйте логику работы с цепочками с помощью следующих клиентских методов API из группы методов Цепочки наград и призовые баллы:
| Задача | Метод API |
|---|---|
| Получить цепочку наград текущего пользователя. | Получение цепочки наград текущего пользователя. |
| Получить призовые баллы текущего пользователя. | Получение призовых баллов текущего пользователя. |
| Получить награду на уровне для текущего пользователя в цепочке наград. | Получение награды на уровне. |
| Обновить текущий клан пользователя через атрибуты пользователя. | Обновление клана текущего пользователя. Выдает пользователю награды, которые он не забрал из цепочки наград старого клана, и возвращает их в ответе. |
| Получить 10 участников, внесших наибольший вклад в определенную цепочку наград для текущего клана пользователя. | Получение 10 участников, внесших наибольший вклад в продвижение по клановой цепочке наград. Если пользователь не состоит в клане, в ответе вернется пустой массив. |
- Убедитесь, что товары корректно начисляются пользователю.
Настройка клана пользователя
Если вы не используете конструктор сайтов, вам необходимо реализовать в Xsolla Login передачу в атрибутах пользователей данных об их кланах. Для этого:
Пример схемы атрибутов в Login:- json
1{
2 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "additionalProperties": false,
4 "description": "JSON Schema example for user attributes. Not the actual schema.",
5 "properties": {
6
7 "clan_id": {
8 "description": "name of clan",
9 "type": "string"
10 },
11 "custom-id": {
12 "description": "custom-id of a user.",
13 "type": "number"
14 },
15 "had_ban": {
16 "description": "Whether the user was banned.",
17 "type": "boolean"
18 },
19 "last_purchase": {
20 "description": "Date of user's last purchase.",
21 "type": "string"
22 },
23 },
24 "required": [],
25 "title": "Example",
26 "type": "object"
27}
- Чтобы добавить или обновить атрибут
clan_id, используйте методы обновления атрибутов и обязательно передайте в теле запроса массивattributesсо значением кланаclan_id.
- json
1{
2 "user": {
3 "id": "1234567890",
4 "picture": "https://example.com",
5 "name": "test-name"
6 },
7 "attributes": [
8 {
9 "key": "clan_id",
10 "value": "beetles"
11 }
12 ]
13}
Если используется авторизация через Xsolla Login, для обновления данных о кланах пользователя используйте метод API Обновление клана текущего пользователя. Если в атрибутах указан новый клан, то пользователь получает неполученные награды за цепочку в предыдущем клане и его принадлежность к клану будет изменена. Если пользователь состоял в клане, а теперь нет — принадлежность к клану будет удалена. В ответе этот метод возвращает награды, которые были начислены пользователю.
Особенности настройки для Web Shop
После настройки схемы атрибутов реализуйте передачу данных о клане пользователя.
Если на сайте используется авторизация по ID пользователя, передайте данные о клане пользователя в ответе на вебхук Проверка пользователя в Web Shop при авторизации:
- Чтобы добавить или обновить атрибут
clan_id, обязательно передайте массивattributes, содержащий объект с ключомclan_id.
Пример ответа на вебхук:
- json
1{
2 "user": {
3 "id": "1234567890",
4 "picture": "https://example.com",
5 "name": "test-name"
6 },
7 "attributes": [
8 {
9 "key": "clan_id",
10 "value": "beetles"
11 }
12 ]
13}
- Если пользователь покинул клан и не вступил в другой, передайте значение
clan_idв полеremoving_keys.
Пример ответа на вебхук:
- json
1{
2 "user": {
3 "id": "1234567890",
4 "picture": "https://example.com",
5 "name": "test-name"
6 },
7 "removing_keys": [
8 {
9 "key": "clan_id"
10 }
11 ]
12}
Особенности настройки для API
Вы можете передать актуальные значения атрибутов непосредственно при авторизации пользователя, если вы используете метод API Auth by custom ID.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.