可信成人偏好
可信成人可以配置他们希望如何管理其子女的同意和权限的偏好。这些偏好在 Family Connect 中配置,并影响同意挑战的呈现和处理方式。
偏好如何与 API 一起工作
可信成人偏好是会话对象的一部分,可通过 /session/get 端点访问。偏好在会话响应中的 allowances 数组中存储。
在会话中访问津贴
当您使用 /session/get 检索会话时,响应包括一个 allowances 数组,其中包含为该玩家配置的可信成人偏好。每个津贴代表可信成人已配置的偏好设置。
带津贴的会话响应示例
{
"session": {
"sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",
"kuid": "12b9fa0e-6d6d-4903-a1fc-f2233027b71d",
"ageStatus": "LEGAL_ADULT",
"ageCategory": "adult",
"etag": "e889efb9e8a985308e82bed78c5aef7f37f50cf36b7337bf654980d0bab7a574",
"status": "ACTIVE",
"dateOfBirth": "2005-04-15",
"jurisdiction": "US-CA",
"managedBy": "PLAYER",
"permissions": [
{
"name": "text-chat-public",
"enabled": false,
"managedBy": "GUARDIAN"
},
{
"name": "text-chat-private",
"enabled": true,
"managedBy": "PLAYER"
},
{
"name": "forums",
"enabled": false,
"managedBy": "PROHIBITED"
}
],
"allowances": [
{
"name": "3516-7b2e",
"numericalValue": 5,
"type": "numerical"
},
{
"name": "63d3-90ac",
"selectionValue": "733c-ca11",
"type": "selection"
}
]
},
"status": "PASS"
}
津贴结构
allowances 数组中的每个津贴具有以下结构:
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 津贴偏好的唯一标识符(在 Compliance Studio 中配置) |
type | string | 津贴类型:"numerical" 或 "selection" |
numericalValue | number | 数值(仅在 type 为 "numerical" 时存在) |
selectionValue | string | 所选值标识符(仅在 type 为 "selection" 时存在) |
津贴类型
数值津贴
数值津贴代表具有数值的偏好,例如:
- 最大每日游戏时间(小时)
- 最大支出限制
- 基于时间的限制
示例:
{
"name": "3516-7b2e",
"numericalValue": 5,
"type": "numerical"
}
选择津贴
选择津贴代表可信成人从预定义选项中选择的偏好,例如:
- 内容评级偏好
- 通信设置
- 功能访问级别
示例:
{
"name": "63d3-90ac",
"selectionValue": "733c-ca11",
"type": "selection"
}
在应用程序中使用津贴
您可以使用津贴来实现尊重可信成人偏好的游戏逻辑:
- 检索会话:调用
/session/get以获取带有津贴的当前会话 - 检查津贴:在会话响应中查找
allowances数组 - 处理每个津贴:遍历津贴并将偏好值应用到您的游戏逻辑
- 处理津贴类型:检查
type字段以确定是使用numericalValue还是selectionValue
实施示例
async function getPlayerAllowances(sessionId) {
const response = await fetch(`/api/v1/session/get?sessionId=${sessionId}`, {
headers: {
'Authorization': `Bearer ${apiKey}`
}
});
const data = await response.json();
const allowances = data.session?.allowances || [];
// 处理津贴
const preferences = {};
allowances.forEach(allowance => {
if (allowance.type === 'numerical') {
preferences[allowance.name] = allowance.numericalValue;
} else if (allowance.type === 'selection') {
preferences[allowance.name] = allowance.selectionValue;
}
});
return preferences;
}
何时应用津贴
津贴在以下情况下自动包含在会话中:
- 创建并批准同意挑战时
- 创建或更新会话时
- 升级权限时
津贴反映可信成人在 Family Connect 中为该玩家配置的偏好。
配置津贴
津贴在 Compliance Studio 中配置,您可以在其中定义:
- 津贴名称(标识符)
- 津贴类型(数值或选择)
- 选择类型津贴的可用选项
有关可信成人偏好的详细信息,包括如何配置它们以及它们如何影响您的集成,请参阅核心概念部分的 可信成人偏好。