活动
k-ID API 的大部分功能都在回答您的产品提出的问题:这位玩家多大年龄、他们被允许做什么、家长是否已同意。活动则是相反的方向。您的产品报告孩子实际做了什么,k-ID 把这些报告转化为可信成人能够查看的内容。
活动在您的产品中意味着什么,由您决定。聊天功能中的时长、发送的消息数、购买的物品、完成的课程:您声明重要的类型,并针对这些类型推送记录。k-ID 存储并汇总您发送的内容。
什么是活动记录
活动记录是您产品中发生的一件带时间戳的事情,并关联到一个 k-ID 会话。
| 字段 | 内容 |
|---|---|
id | 由您的产品生成的 UUID。用于幂等性标识该记录。 |
type | 在 Compliance Studio 中为您的产品声明的活动类型的键。 |
value | 度量值,形状由该类型的指标类型决定。 |
timestamp | 发生时间(UTC)。必须在最近七天之内。 |
attributes | 可选的键/值元数据,仅限该类型声明的属性键。 |
归属的单位是会话。记录属于您推送时指定的会话,而面向可信成人的界面对每个产品只读取该玩家的一个会话,因此请把该玩家的所有活动推送到您已持有的那个会话,而不要为每台设备新开一个会话。
活动类型
活动类型是一种声明:本产品报告这类事情,并以这种方式度量。类型在 Compliance Studio 中按产品配置,因此添加一个类型是配置变更,而不是一个集成项目。请参阅活动类型。
每个类型固定一个指标类型,它决定您的产品为该类型推送的每个 value 的形状。
| 指标类型 | 值的形状 | 示例 |
|---|---|---|
duration | seconds | 在某个功能中花费的时间 |
currency | amount(最小单位)和 currency(ISO 4217) | 购买及其他金额 |
count | count | 离散事件,例如发送的消息数 |
gauge | number | 带小数的读数,例如完成率 |
boolean | bool | 发生或未发生的事情 |
value 与其类型的指标类型不匹配的记录会被拒绝,type 未被您的产品声明的记录同样会被拒绝。
k-ID 如何使用活动
活动会呈现在可信成人看到的界面上。在 Family Connect 中,已关联的成人打开孩子使用的某个产品,在该产品的专属选项卡中查看它的活动。已关联的成人还会定期收到该产品的摘要邮件,默认每周一次,频率由他们自己控制。两者读取的都是汇总后的活动,而非原始记录。
活动不是什么
这条边界是有意划定的,值得明确说明:
- k-ID 存储并汇总活动。它不解读也不审核其中的内容。
- 活动摄取不会屏蔽孩子、更改权限或触发干预。像屏幕时间限制这样作用于孩子行为的功能是独立的,它们读取活动。
- 活动只有入站方向。没有活动的 Webhook 事件:您的产品向 k-ID 推送,并在响应中获得逐条记录的结果。
屏幕时间上报与活动摄取是同一种形态:您的应用向 k-ID 上报使用情况,无需家长进行任何设置,而面向家长的控制是位于其上的一个独立的可选层。请参阅屏幕时间的功能开关。
隐私与属性
属性用于您希望向可信成人分项展示的维度,例如时间花在了游戏的哪个模式上。它不是通用的数据载体。
由此得出两条规则。类型会声明它接受的属性键,携带其他键的记录会被拒绝。看起来像个人数据的属性值会被直接拒绝。请发送您自己的系统可以解析的不透明标识符,而不是个人数据本身。
保留期限
k-ID 将单条活动记录保留 90 天。面向可信成人的界面所读取的汇总活动最长保留 2 年。删除会话或玩家时,归属于它的活动也会一并删除。
测试与生产
活动的行为与产品配置的其余部分一致:在产品编辑器中声明的活动类型在推送到某个环境之前都是本地的,端点提供的是您的 API 密钥所处模式指向的那份配置。先声明类型、推送到测试环境、用测试 API 密钥验证,然后再发布到生产环境。请参阅测试与发布。
后续步骤
- 上报使用情况:推送活动记录、屏幕时间使用量和已完成的购买,处理逐条结果,以及端到端验证集成。
- 活动类型:在 Compliance Studio 中声明类型。
/activity/push:端点参考。