奖励系统
运行机制
奖励系统可以激励用户使用真实货币在商店中购买商品。如果用户是公会成员,其购买将为整个公会贡献奖励积分。
您可以创建个人和公会奖励链,并为用户购买的商品提供奖励。游戏可以包含多个任意类型的奖励链。每个奖励链最多可以包含31个步骤。您需要为每个等级设定完成所需的奖励积分数量。
您还可以创建个性化奖励链。通过个性化功能,可根据用户属性仅向特定授权用户群体显示奖励链。您可以为单个用户或公会设计个性化奖励链。
在奖励链的每个步骤中,用户可以获得1至10个奖励。公会中的每个成员在每个步骤也可以获得1至10个奖励。
您可以向用户发放以下类型的商品奖励:
- 虚拟物品
- 虚拟货币
- 虚拟货币套餐
- 捆绑包
设置奖励系统
通过发布商帐户进行设置
在创建奖励链之前,需要创建奖励积分、奖励以及用户和公会可购买以获得奖励积分的商品。
要在发布商帐户项目中手动创建商品,请前往商品目录 > 全部商品部分。有关此方法及其他创建商品方式的详细信息,请参阅文档中的商品目录部分。
要创建奖励积分:
- 在发布商帐户中打开您的项目,前往LiveOps > 奖励部分。
- 单击创建奖励积分。
- 指定以下参数:
- 添加图片(可选)。
- 输入名称。
- 输入唯一SKU。
- 如果创建公会奖励积分,请开启用作公会奖励积分开关。该设置在奖励积分创建后无法更改。
- 分配奖励积分:选择商品并指定用户购买每个商品时获得的奖励积分数量。如果商店暂未创建商品,您可以先保存当前设置,稍后再返回完成此步骤。
- 单击添加行插入所需数量的行。
- 单击创建奖励积分。
要创建奖励链:
- 在发布商帐户中打开您的项目,前往LiveOps > 奖励部分。
- 单击创建奖励。
- 选择新奖励链类型 — 个人奖励链或公会奖励链。
- 指定以下参数,如果选择个人奖励链:
- 指定奖励链名称。
- 填写描述。
- 在下拉列表中选择奖励积分。

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

- 单击下一步。
- 单击添加新步骤。
- 指定以下参数,然后单击保存:
- 步骤名称。
- 领取奖励所需的奖励积分数量。
- 该步骤所需的虚拟物品数量。
- 单击保存。

- 添加所需数量的步骤后单击下一步。
如需个性化奖励链:
- 开启个性化奖励链开关。
- 选择一种奖励链显示方式并单击下一步:
- 向特定用户显示奖励链。设置个性化条件。该奖励链仅向满足指定条件的授权用户显示。
- 向不满足条件的用户显示奖励链:启用后,仅在未找到匹配的奖励链时显示(例如用户未授权或其属性与任何个性化链不匹配)。
- 单击下一步。
- 指定奖励链的有效期。
- 您可以开启设置时间限制开关,并设置奖励链的到期日期和时间。
- 要在奖励链结束后自动重置进度,请勾选奖励链结束后刷新用户进度复选框。
- 如需在特定时间更新奖励链,请打开将奖励链设置为可更新开关并指定更新模式。

- 单击创建。
- 在发布商帐户的项目中,前往LiveOps工具 > 奖励。
- 在所需奖励链的行中单击•••,然后从下拉列表中选择激活。
通过API设置
您可以使用奖励链和奖励积分方法组中管理子部分的方法来管理奖励系统。
| 任务 | API调用 |
|---|---|
| 创建获取奖励发放权限的奖励积分。 | 创建奖励积分。 |
| 向具体商品赋予奖励积分。 | 设置商品的奖励积分。用户购买商品后将获得相应积分。 |
| 创建奖励链。 | 创建奖励链。 |
| 创建个性化奖励链。 | 创建奖励链。在attribute_conditions数组中传入显示条件。 |
| 是否向没有条件中定义的属性的用户显示个性化奖励链。 | 创建奖励链。在can_be_missing参数中传入true。 |
| 定义在未找到与用户匹配的个性化链时显示的奖励链。 | 创建奖励链。在is_always_visible参数中传递false。 |
| 激活/停用奖励链。 | 开关奖励链。 |
| 删除奖励链。 | 删除奖励链。 |
| 重置奖励链中所有用户的奖励积分和进度。 | 重置奖励链。重置后,您可以更新奖励链的有效期,用户可再次完成进度。 |
显示奖励系统
通过建站器显示
为确保奖励系统正常运行,必须配置用户身份认证。对于未经身份认证的用户,个人和公会奖励链都会显示,但没有进度。已经过身份认证但不是公会成员的用户只能看到其个人奖励链。公会奖励链将显示为不可用。


要在您的网站上显示奖励链:
- 在发布商帐户的项目中,前往商店 > 网站部分。
- 选择您的网站并点击打开建站器。
- 在建站器的主区域,选择想添加新区块的位置并点击添加区块。
- 在区块列表中选择奖励系统。
- 在下拉列表中选择奖励链。

- 自定义按钮和文本颜色(可选)。
- 要预览奖励链,单击建站器右上角的预览按钮。

- 要应用更改,请发布您的网站:
- 在建站器右上角,单击发布。
- 勾选要发布的页面旁边的复选框。
- 单击发布。
- 建站器中没有空白区块(红色标记的部分)。
- 已签署与艾克索拉的许可协议。
- 主页已发布或已选择发布。在发布主页之前,无法发布子页面。
建站器中奖励积分的显示细节
您可以在单个区块中选择多个奖励链,并选择它们的显示方式 — 一个接一个显示或以选项卡形式显示。您可以单独自定义每个奖励链的外观。
商品卡片仅显示已添加到网站的奖励链的奖励积分。但是,当用户购买商品时,公会成员将获得所有已激活奖励链的奖励积分,无论这些奖励链是否在网站上显示。
示例:
假设已设置两个奖励链:一个个人奖励链和一个公会奖励链。个人奖励链使用
商品目录中有一件名为
当您在建站器中添加商店区块并选择包含
- 如果尚未在网站中添加任何奖励链,
Sword 商品将不会显示任何奖励积分。 - 如果仅添加并激活了个人奖励链,
Sword 商品将仅显示20个Crystals 。 - 如果仅添加并激活了公会奖励链,
Sword 商品将仅显示40个Magic Bubbles 。 - 如果同时添加并激活了个人和公会奖励链,
Sword 商品将同时显示20个Crystals 和40个Magic Bubbles 。
对于公会成员来说,40个
对于非公会成员用户来说,40个
通过API调用显示奖励链
- 在您的应用程序UI中,实现用于显示奖励链步骤的元素。
- 使用奖励链和奖励积分组中的以下客户端侧API调用实现链条操作逻辑:
| 任务 | API调用 |
|---|---|
| 获取当前用户的奖励链。 | 获取当前用户的奖励链。 |
| 获取当前用户的奖励积分余额。 | 获取当前用户的奖励积分余额。 |
| 从奖励链中领取当前用户的步骤奖励。 | 领取步骤奖励。 |
| 通过用户属性更新当前用户的公会。 | 更新当前用户的公会。领取前一个公会中未领取的所有奖励链奖励,并在响应中返回。 |
| 获取当前用户公会下指定奖励链的前10名贡献者列表。 | 获取公会下奖励链的前10名贡献者。如果用户不属于任何公会,该调用返回空数组。 |
- 确保商品正确发放给用户。
设置用户公会
如果不使用建站器,则需要在艾克索拉登录管理器的用户属性中传入用户的公会信息,以确保公会奖励链正常运行。操作方法:
登录管理器中的属性方案示例:- 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属性,请使用属性更新方法,并在请求正文中传入包含公会值clan_id的attributes数组。
- 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}
如果通过艾克索拉登录管理器进行身份认证,请调用更新当前用户的公会API来更新用户的公会。如果属性中包含新公会,用户将获得前一个公会奖励链中未领取的任何奖励,并且其公会归属将被更新。如果用户之前是公会成员但现已不属于任何公会,其公会成员资格将被撤销。此方法的响应中包含用户已领取的奖励。
网页商城的显示细节
配置属性机制后,请实现用户公会数据的传入。
通过用户ID进行身份认证时,在网页商城Webhook的用户验证Webhook响应中传递用户的公会:
- 要添加或刷新
clan_id属性,请传递包含clan_id属性键的attributes对象数组。
Webhook响应示例:
- 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}
- 如果用户已退出公会且尚未加入其他公会,则需要在
removing_keys字段中传递clan_id值。
Webhook响应示例:
- 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显示的细节
如果您使用通过自定义ID进行认证API,可以在用户授权期间直接传递当前属性值。
发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。