奖励系统

运行机制

奖励系统可以激励用户使用真实货币在商店中购买商品。如果用户是公会成员,其购买将为整个公会贡献奖励积分。

您可以创建个人和公会奖励链,并为用户购买的商品提供奖励。游戏可以包含多个任意类型的奖励链。每个奖励链最多可以包含31个步骤。您需要为每个等级设定完成所需的奖励积分数量。

您还可以创建个性化奖励链。通过个性化功能,可根据用户属性仅向特定授权用户群体显示奖励链。您可以为单个用户或公会设计个性化奖励链。

注:
您可以在用户获得免费商品时向其发放奖励积分。累积的奖励积分能够激励用户用真实货币购买商品,以在奖励链中不断推进。

在奖励链的每个步骤中,用户可以获得1至10个奖励。公会中的每个成员在每个步骤也可以获得1至10个奖励。

您可以向用户发放以下类型的商品奖励:

  • 虚拟物品
  • 虚拟货币
  • 虚拟货币套餐
  • 捆绑包

设置奖励系统

通过发布商帐户进行设置

在创建奖励链之前,需要创建奖励积分、奖励以及用户和公会可购买以获得奖励积分的商品。

要在发布商帐户项目中手动创建商品,请前往商品目录 > 全部商品部分。有关此方法及其他创建商品方式的详细信息,请参阅文档中的商品目录部分。

要创建奖励积分:

  1. 在发布商帐户中打开您的项目,前往LiveOps > 奖励部分。
  2. 单击创建奖励积分
  1. 指定以下参数:
    • 添加图片(可选)。
    • 输入名称。
    • 输入唯一SKU。
    • 如果创建公会奖励积分,请开启用作公会奖励积分开关。该设置在奖励积分创建后无法更改。
    • 分配奖励积分:选择商品并指定用户购买每个商品时获得的奖励积分数量。如果商店暂未创建商品,您可以先保存当前设置,稍后再返回完成此步骤。
  1. 单击添加行插入所需数量的行。
  2. 单击创建奖励积分
如要修改某个奖励积分的设置,请单击对应行中的编辑

要创建奖励链:

  1. 在发布商帐户中打开您的项目,前往LiveOps > 奖励部分。
  2. 单击创建奖励
  1. 选择新奖励链类型 — 个人奖励链公会奖励链
  2. 指定以下参数,如果选择个人奖励链:
    1. 指定奖励链名称。
    2. 填写描述。
    3. 在下拉列表中选择奖励积分。

    如果选择公会奖励链:
    1. 在公会类型下拉列表中选择公会类型
    2. 设置公会奖励链参数:
      1. 指定奖励链名称。
      2. 填写描述。
      3. 指定奖励链弹窗标题。
      4. 指定弹窗提示文本(说明用户如何为公会获得奖励)。
      5. 添加图片(可选)。
      6. 在下拉列表中选择奖励积分。

  1. 单击下一步
  2. 单击添加新步骤
  3. 指定以下参数,然后单击保存
    • 步骤名称。
    • 领取奖励所需的奖励积分数量。
    • 该步骤所需的虚拟物品数量。
  4. 单击保存
  1. 添加所需数量的步骤后单击下一步
  2. 如需个性化奖励链:

    1. 开启个性化奖励链开关。
    2. 选择一种奖励链显示方式并单击下一步
      • 向特定用户显示奖励链设置个性化条件。该奖励链仅向满足指定条件的授权用户显示。
      • 向不满足条件的用户显示奖励链:启用后,仅在未找到匹配的奖励链时显示(例如用户未授权或其属性与任何个性化链不匹配)。
  3. 单击下一步
  4. 指定奖励链的有效期。
  5. 您可以开启设置时间限制开关,并设置奖励链的到期日期和时间。
  6. 要在奖励链结束后自动重置进度,请勾选奖励链结束后刷新用户进度复选框。
  7. 如需在特定时间更新奖励链,请打开将奖励链设置为可更新开关并指定更新模式。
注:
如果勾选了完成奖励链后重置用户进度复选框且启用了将奖励链设置为可更新开关,用户进度将被重置两次。例如,如果奖励链在周三结束,而自动激活设置为周一,那么进度将首先在周一重置,然后在周三再次重置。
注意
如果在不同的奖励链中使用相同的奖励积分,则每个奖励链中的用户进度都将被重置。
  1. 单击创建
要让奖励链对用户可用,需要将其激活。操作方法:
  1. 在发布商帐户的项目中,前往LiveOps工具 > 奖励
  2. 在所需奖励链的行中单击•••,然后从下拉列表中选择激活

通过API设置

您可以使用奖励链和奖励积分方法组中管理子部分的方法来管理奖励系统。

任务API调用
创建获取奖励发放权限的奖励积分。创建奖励积分
向具体商品赋予奖励积分。设置商品的奖励积分。用户购买商品后将获得相应积分。
创建奖励链。创建奖励链
创建个性化奖励链。创建奖励链。在attribute_conditions数组中传入显示条件。
是否向没有条件中定义的属性的用户显示个性化奖励链。创建奖励链。在can_be_missing参数中传入true
定义在未找到与用户匹配的个性化链时显示的奖励链。创建奖励链。在is_always_visible参数中传递false
激活/停用奖励链。开关奖励链
删除奖励链。删除奖励链
重置奖励链中所有用户的奖励积分和进度。重置奖励链。重置后,您可以更新奖励链的有效期,用户可再次完成进度。

显示奖励系统

通过建站器显示

为确保奖励系统正常运行,必须配置用户身份认证。对于未经身份认证的用户,个人和公会奖励链都会显示,但没有进度。已经过身份认证但不是公会成员的用户只能看到其个人奖励链。公会奖励链将显示为不可用。

要在您的网站上显示奖励链:

  1. 在发布商帐户的项目中,前往商店 > 网站部分。
  2. 选择您的网站并点击打开建站器
  3. 在建站器的主区域,选择想添加新区块的位置并点击添加区块
  4. 在区块列表中选择奖励系统
  1. 在下拉列表中选择奖励链。
注:
可以添加多个奖励链。默认情况下,奖励链会在页面上依次显示。在设置中启用选项卡显示后,可通过单击区块顶部的奖励链名称在奖励链之间切换。
  1. 自定义按钮和文本颜色(可选)。
  2. 要预览奖励链,单击建站器右上角的预览按钮。
  1. 要应用更改,请发布您的网站:
    1. 在建站器右上角,单击发布
    2. 勾选要发布的页面旁边的复选框。
    3. 单击发布
注意
如果无法发布网站,请确保满足以下所有条件:
注:
在奖励链激活且有效期开始之前,用户无法看到奖励链或奖励积分。

建站器中奖励积分的显示细节

您可以在单个区块中选择多个奖励链,并选择它们的显示方式 — 一个接一个显示或以选项卡形式显示。您可以单独自定义每个奖励链的外观。

商品卡片仅显示已添加到网站的奖励链的奖励积分。但是,当用户购买商品时,公会成员将获得所有已激活奖励链的奖励积分,无论这些奖励链是否在网站上显示。

示例

假设已设置两个奖励链:一个个人奖励链和一个公会奖励链。个人奖励链使用Crystal作为奖励积分,公会奖励链使用Magic Bubble作为奖励积分。

商品目录中有一件名为Sword的商品,并已分配奖励积分。当公会成员购买该商品时,将获得20个Crystals和40个Magic Bubbles

当您在建站器中添加商店区块并选择包含Sword商品的类型和商品组时:

  1. 如果尚未在网站中添加任何奖励链,Sword商品将不会显示任何奖励积分。
  2. 如果仅添加并激活了个人奖励链,Sword商品将仅显示20个Crystals
  3. 如果仅添加并激活了公会奖励链,Sword商品将仅显示40个Magic Bubbles
  4. 如果同时添加并激活了个人和公会奖励链,Sword商品将同时显示20个Crystals和40个Magic Bubbles

对于公会成员来说,40个Magic Bubbles将显示为激活值。

对于非公会成员用户来说,40个Magic Bubbles将显示为锁定值。

通过API调用显示奖励链

  1. 在您的应用程序UI中,实现用于显示奖励链步骤的元素。
  2. 使用奖励链和奖励积分组中的以下客户端侧API调用实现链条操作逻辑:
任务API调用
获取当前用户的奖励链。获取当前用户的奖励链
获取当前用户的奖励积分余额。获取当前用户的奖励积分余额
从奖励链中领取当前用户的步骤奖励。领取步骤奖励
通过用户属性更新当前用户的公会。更新当前用户的公会。领取前一个公会中未领取的所有奖励链奖励,并在响应中返回。
获取当前用户公会下指定奖励链的前10名贡献者列表。获取公会下奖励链的前10名贡献者。如果用户不属于任何公会,该调用返回空数组。
  1. 确保商品正确发放给用户。

设置用户公会

如果不使用建站器,则需要在艾克索拉登录管理器的用户属性中传入用户的公会信息,以确保公会奖励链正常运行。操作方法:

  1. 在登录管理器中设置属性机制
登录管理器中的属性方案示例:
Copy
Full screen
Small screen
 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}
  1. 要添加或刷新clan_id属性,请使用属性更新方法,并在请求正文中传入包含公会值clan_idattributes数组。
Copy
Full screen
Small screen
 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}

如果通过艾克索拉登录管理器进行身份认证,请调用更新当前用户的公会API来更新用户的公会。如果属性中包含新公会,用户将获得前一个公会奖励链中未领取的任何奖励,并且其公会归属将被更新。如果用户之前是公会成员但现已不属于任何公会,其公会成员资格将被撤销。此方法的响应中包含用户已领取的奖励。

网页商城的显示细节

配置属性机制后,请实现用户公会数据的传入。

通过用户ID进行身份认证时,在网页商城Webhook的用户验证Webhook响应中传递用户的公会:

  • 要添加或刷新clan_id属性,请传递包含clan_id属性键的attributes对象数组。

Webhook响应示例:

Copy
Full screen
Small screen
 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}
  • 如果用户已退出公会且尚未加入其他公会,则需要在removing_keys字段中传递clan_id值。

Webhook响应示例:

Copy
Full screen
Small screen
 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显示的细节

如果您使用通过自定义ID进行认证API,可以在用户授权期间直接传递当前属性值。

本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
上次更新时间: 2026年2月16日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!
无法发送您的反馈
请稍后重试或发送邮件至doc_feedback@xsolla.com与我们联系。