跳到主要内容

可信成人偏好

可信成人可以配置他们希望如何管理其子女的同意和权限的偏好。这些偏好在 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 数组中的每个津贴具有以下结构:

字段类型说明
namestring津贴偏好的唯一标识符(在 Compliance Studio 中配置)
typestring津贴类型:"numerical""selection"
numericalValuenumber数值(仅在 type"numerical" 时存在)
selectionValuestring所选值标识符(仅在 type"selection" 时存在)

津贴类型

数值津贴

数值津贴代表具有数值的偏好,例如:

  • 最大每日游戏时间(小时)
  • 最大支出限制
  • 基于时间的限制

示例:

{
"name": "3516-7b2e",
"numericalValue": 5,
"type": "numerical"
}

选择津贴

选择津贴代表可信成人从预定义选项中选择的偏好,例如:

  • 内容评级偏好
  • 通信设置
  • 功能访问级别

示例:

{
"name": "63d3-90ac",
"selectionValue": "733c-ca11",
"type": "selection"
}

在应用程序中使用津贴

您可以使用津贴来实现尊重可信成人偏好的游戏逻辑:

  1. 检索会话:调用 /session/get 以获取带有津贴的当前会话
  2. 检查津贴:在会话响应中查找 allowances 数组
  3. 处理每个津贴:遍历津贴并将偏好值应用到您的游戏逻辑
  4. 处理津贴类型:检查 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 中配置,您可以在其中定义:

  • 津贴名称(标识符)
  • 津贴类型(数值或选择)
  • 选择类型津贴的可用选项

有关可信成人偏好的详细信息,包括如何配置它们以及它们如何影响您的集成,请参阅核心概念部分的 可信成人偏好