Google Play Game Stats 游戏数据可信度责任矩阵 V1(未执行模板)
这是一份默认全部“未执行”的 Game Stats 数据可信度与发布门禁模板。它用于把客户端观察、御盾保护、游戏服务器校验、Play Integrity 风险上下文、Google Play 提交和最终业务裁决放进同一记录,不代表御盾、某款游戏、某个 SDK、某台设备或任何 Level Up 项目已经完成兼容测试。只有绑定真实 Release、事件、账号范围、服务端结果与测试日期后,单元格才能改为通过或失败。
摘要
Game Stats 支持客户端和服务端提交,竞争统计还能配置真实玩家每小时范围。模板不把这些平台能力等同于完整反外挂,而是要求每类事件先明确权威来源、事件身份、幂等、数据边界和最终裁决,再比较原始 Release、基础保护、目标保护与最终 Play 产物。所有项目默认未执行。
读者对象
适用于手游客户端、游戏服务器、反作弊、QA、安全、发行和发布团队。它不是面向玩家的处罚规则,也不是御盾兼容声明;项目使用时应删除真实玩家身份、令牌、密钥和内部阈值,只公开责任、状态和脱敏证据。
核心结论
- 客户端可提交不等于高价值统计应无条件相信客户端;
- 服务端权威是工程建议,仍需幂等、审计和回滚;
- Game Stats、Play Integrity 与御盾分别提供统计、环境和客户端保护能力,均不替代游戏服务器裁决;
- 超出竞争统计范围只表示需要调查,不等于作弊成立;
- 未执行、未覆盖和失败必须保留,不能合并成“兼容”。
使用说明
这份矩阵面向手游客户端、游戏服务端、反作弊、QA、安全和发行团队。使用前应先阅读Game Stats 玩家行为数据安全指南,确认 Game Stats 不是完整反外挂 API,客户端和服务端都可以提交事件,但高价值数据的最终权威需要由项目自行定义。
模板只提供公开字段、责任与状态语言,不包含玩家 ID、访问令牌、服务端密钥、真实处罚阈值、客户日志或御盾内部保护实现。对于竞技和资产数据,建议由游戏服务器校验或生成最终值;这是工程建议,不是 Google 强制规则。
状态枚举
| 状态 | 含义 | 是否可放行 |
|---|---|---|
| 未执行 | 尚未在真实候选和环境上运行 | 否 |
| 已执行待复核 | 已有结果,但身份、日志或服务端记录不完整 | 否 |
| 通过 | 在明确范围内执行并满足门禁 | 仅限已记录范围 |
| 失败 | 结果与预期不一致 | 否 |
| 未覆盖 | 明确不在本轮测试范围 | 不得写成通过 |
| 阻断 | 关键证据缺失或无法安全继续 | 否 |
“未执行”不是兼容,“未覆盖”不是无风险,“通过”也不是全面免疫作弊。公开报告必须保留限定版本、候选、事件和服务端环境。
技术拆解:平台事实、工程建议与产品边界
| 层级 | 可公开陈述 | 当前状态 |
|---|---|---|
| 平台事实 | Google Play Game Stats 支持客户端和服务端提交事件 | 公开文档已核对 |
| 平台事实 | 竞争统计可配置真实玩家每小时最小/最大范围,用于识别可能滥用 | 公开文档已核对 |
| 工程建议 | 竞技、资产与高价值进度优先由游戏服务器校验或生成 | 建议,不是平台强制 |
| 产品边界 | 御盾保护客户端关键链、候选身份与运行时完整性 | 需真实项目验证 |
| 产品边界 | Play Integrity 提供环境风险上下文,不替代对局裁决 | 公开边界已定义 |
| 最终裁决 | 胜负、资产、奖励、处罚与申诉由客户服务端/运营决定 | 责任已定义 |
一、数据权威责任矩阵
| 数据 | 客户端责任 | 游戏服务器责任 | Google Play 角色 | 最终权威 | 测试状态 |
|---|---|---|---|---|---|
| UI/体验型事件 | 采集与即时反馈 | 可选校验 | 可消费合规 Stat | 依业务定义 | 未执行 |
| 关卡进度 | 展示、缓存、重试 | 校验解锁与存档 | 展示累计进度 | 服务端/受控存档 | 未执行 |
| 比赛胜负 | 展示结果 | 计算与签发战报 | 可消费统计 | 游戏服务器 | 未执行 |
| 击杀/高光 | 观察与动画 | 按规则校验 | 可作为 Stat | 游戏服务器 | 未执行 |
| Quest/League 资格 | 展示状态 | 校验资格与异常 | 使用统计与范围 | 游戏服务器/平台规则 | 未执行 |
| 游戏币与付费权益 | 展示余额 | 交易、资产和退款台账 | 不应作为购买事件写入 Game Stats | 业务后端 | 未执行 |
| App/设备完整性 | 采集平台与御盾证据 | 组合、解释和分级 | 提供 Integrity 信号 | 服务端策略 | 未执行 |
| 处罚与申诉 | 展示结果 | 保存证据、人工复核 | 不替代处罚系统 | 运营与服务端 | 未执行 |
二、事件契约清单
| 字段 | 需要回答的问题 | 示例状态 |
|---|---|---|
| Stat 定义 | 统计描述什么,单位与累计规则是什么 | 未执行 |
| 事件类型 | 何时产生,是否允许批量 | 未执行 |
eventId |
谁生成,重试是否保持相同 | 未执行 |
| 玩家映射 | 内部账号与 PGS 身份如何隔离和吊销 | 未执行 |
| 会话/对局 | 事件属于哪个 Session 或 Match | 未执行 |
| 客户端观察值 | 客户端看到的原始值是什么 | 未执行 |
| 服务端计算值 | 权威服务器如何验证或生成 | 未执行 |
| 最终提交值 | 哪个值提交给 Game Stats | 未执行 |
| 重试与幂等 | 超时、断线、批量失败怎样避免重复 | 未执行 |
| 补偿 | 延迟、回滚或数据修复由谁执行 | 未执行 |
| 数据最小化 | 是否混入用户 ID、密码、位置、健康或交易数据 | 未执行 |
| 保留期 | 事件与风险证据保存多久 | 未执行 |
三、候选包对照矩阵
| 测试项 | 原始 Release | 基础保护 | 目标保护 | 最终 Play 产物 |
|---|---|---|---|---|
| PGS v2 登录 | 未执行 | 未执行 | 未执行 | 未执行 |
| Game Stats SDK 初始化 | 未执行 | 未执行 | 未执行 | 未执行 |
| 客户端正常事件 | 未执行 | 未执行 | 未执行 | 未执行 |
| 服务端事件 | 未执行 | 未执行 | 未执行 | 未执行 |
| 网络失败重试 | 未执行 | 未执行 | 未执行 | 未执行 |
| 重复事件幂等 | 未执行 | 未执行 | 未执行 | 未执行 |
| 批量提交部分失败 | 未执行 | 未执行 | 未执行 | 未执行 |
| 账号切换 | 未执行 | 未执行 | 未执行 | 未执行 |
| 跨设备继续 | 未执行 | 未执行 | 未执行 | 未执行 |
| 客户端值与服务端值不一致 | 未执行 | 未执行 | 未执行 | 未执行 |
| Stat 配置变更 | 未执行 | 未执行 | 未执行 | 未执行 |
| Gamer Profile 展示 | 未执行 | 未执行 | 未执行 | 未执行 |
| 崩溃、ANR 与性能 | 未执行 | 未执行 | 未执行 | 未执行 |
| 覆盖升级与回滚 | 未执行 | 未执行 | 未执行 | 未执行 |
原始 Release 必须与三个候选使用同一业务提交、同一 PGS 配置、同一事件契约和可比较的后端环境。Debug 包、不同版本或不同账号范围的结果不得拼接成一次通过。若原包已经失败,先修 PGS、账号、网络或业务逻辑;只有原包正常而保护候选首次出现差异,才进入保护归因。
四、Competitive Stat 异常范围复核
| 项目 | 需要记录 | 默认状态 |
|---|---|---|
| Stat 名称 | 可公开的统计名称与单位 | 未执行 |
| 正常玩家范围来源 | 历史分布、版本、活动和样本口径 | 未执行 |
| 每小时最小/最大 | Play Console 配置版本 | 未执行 |
| 命中原因 | 高水平、活动、Bug、重复、迁移或可能滥用 | 未执行 |
| 其他证据 | 对局、账号、设备、完整性、资产和历史 | 未执行 |
| 自动动作 | 是否只观察、挑战、延迟奖励或人工复核 | 未执行 |
| 误报复核 | 玩家申诉与运营回看 | 未执行 |
| 阈值更新 | 游戏版本和平衡变化后何时复核 | 未执行 |
不得把“超出范围”直接翻译成“作弊已确认”。不得公开精确处罚阈值、规则权重或能帮助规避的逻辑。范围内数据也不等于一定真实。
五、Game Stats 数据边界检查
| 检查项 | 合格条件 | 状态 |
|---|---|---|
| 内购与广告 | 不把购买、看广告作为 Game Stats 增长事件 | 未执行 |
| 用户身份 | 不包含真实用户 ID、密码或认证凭据 | 未执行 |
| 精确位置 | 不写入精确位置数据 | 未执行 |
| 健康信息 | 不写入健康或其他敏感信息 | 未执行 |
| 属性数量 | 符合当前官方 schema 和数量限制 | 未执行 |
| Stat 总量 | 符合当前项目/平台限制 | 未执行 |
| 服务端映射 | 使用受控内部映射,不暴露玩家真实身份 | 未执行 |
| 隐私告知 | 用途、保留和申诉符合项目政策 | 未执行 |
工程落地:御盾与服务端发布门禁
| 门禁 | 证据 | 放行规则 | 状态 |
|---|---|---|---|
| 候选身份 | 提交、版本、Hash、签名和保护策略 | 四组对象可追溯 | 未执行 |
| 客户端关键链 | SDK 初始化、事件生成、参数和网络 | 无未解释差异 | 未执行 |
| 服务端权威 | 对局/进度/资产计算与审计 | 高价值值可复核 | 未执行 |
| 幂等 | 事件 ID、重试和补偿 | 重复不增加统计 | 未执行 |
| 账号隔离 | 登录、切号、注销和跨设备 | 不串号、不残留 | 未执行 |
| 风险上下文 | Integrity、御盾、设备和历史信号 | 不单信号处罚 | 未执行 |
| 数据边界 | Game Stats 不包含禁止或敏感数据 | 无阻断项 | 未执行 |
| 最终 Play 产物 | 测试轨道真实安装与 Gamer Profile | 关键路径一致 | 未执行 |
| 稳定性与性能 | Crash、ANR、延迟、帧率或内存 | 达到项目阈值 | 未执行 |
| 回滚 | 上一候选、配置与服务端开关 | 可执行并验证 | 未执行 |
七、最小 PoC 场景
- 正常登录后提交一个低风险客户端事件;
- 由服务器生成一个权威对局结果并提交;
- 网络中断后恢复,确认重试不重复累计;
- 同一事件被重复接收,确认幂等;
- 客户端观察值与服务端值不一致,确认最终值来自既定权威;
- 账号切换,确认事件和 Gamer Profile 不串联;
- 原始 Release、基础保护、目标保护和最终 Play 候选执行相同路径;
- Stat 或阈值配置变更后,确认版本、缓存和旧事件处理;
- Integrity 或御盾风险信号异常时,只进入分级策略,不直接生成无证据处罚;
- 回滚到上一稳定候选与配置,确认统计和账号仍一致。
攻防视角
一旦统计影响排名、任务、奖励或资产,事件生成、重试和账号映射就会成为高价值修改点。公开模板不描述修改步骤、检测点或处罚阈值;防守侧只验证三件事:客户端观察值能否与服务端权威值分离、重复事件能否保持幂等、风险信号异常时是否仍由服务端做可解释裁决。
Bug、网络重试、版本迁移和恶意行为可能产生相似结果,所以异常不是处罚结论。PoC 应让每项差异可关联到事件、版本、发布物和服务端记录,并保留人工复核与回滚。
风险边界
本页没有真实游戏、APK/AAB、玩家、设备、PGS 配置或御盾策略结果。所有状态均为未执行,不能证明兼容、反作弊效果或 Level Up 资格。Google 文档与 Play Console 配置可能继续更新,正式发布前应重新核对;隐私、未成年人和区域合规由项目结合实际业务确认。
常见误区
- Game Stats 支持客户端 API,不代表客户端值天然可信;
- 服务端提交不代表服务端逻辑没有重复、权限或配置错误;
- 超出每小时范围不代表作弊已确认;
- Play Integrity 通过不代表一场比赛真实发生;
- SDK 初始化成功不代表重试、切号、最终 Play 产物全部兼容;
- 未执行模板不能作为销售材料中的“已通过”证据。
事实依据与脱敏证据
| 编号 | 来源 | 支持事实 | 本模板用途 |
|---|---|---|---|
| 1 | Game Stats 概览 | 支持客户端/服务端集成与玩家统计 | 定义责任和事件边界 |
| 2 | 同一 Game Stats 文档 | 竞争统计可设置真实玩家每小时范围 | 定义异常复核而非直接处罚 |
| 3 | 同一 Game Stats 文档 | 限制购买、广告、通用及敏感数据用途 | 定义数据边界 |
| 4 | Android Game Stats 接入 | Android 客户端 SDK 事件路径 | 定义客户端候选测试 |
| 5 | PGS 服务端访问 | 后端安全访问与玩家验证路径 | 定义服务端权威候选 |
| 6 | Level Up | 自愿计划覆盖 Game Stats、稳定性与设备体验 | 定义完整发布门禁边界 |
| 7 | Play Integrity 概览 | 完整性信号应与其他信号组合 | 避免单信号处罚 |
FAQ
这份矩阵能证明御盾已经兼容 Game Stats 吗?
不能。它是未执行模板。只有绑定真实候选、SDK、账号范围、事件、服务端记录和测试日期后的结果,才能证明限定范围内的兼容性。
为什么同时保存客户端值与服务端值?
因为覆盖成一个最终数字会失去归因能力。两者分开保存可以判断差异来自客户端观察、服务端规则、重复事件、版本变化还是补偿。
超出每小时正常范围能自动封号吗?
不建议。它只表示可能存在异常或滥用,应结合对局、账号、完整性、资产、版本和人工复核。
Game Stats 能保存玩家 ID 吗?
不应把真实用户 ID、密码或其他敏感身份数据写入 Game Stats。内部关联应由受控服务端映射完成。
如何申请执行这份矩阵?
可通过御盾内测申请提交游戏引擎、PGS 版本、事件类型、服务端权威范围和候选包。PoC 前需书面确认数据处理、未覆盖项、发布责任和回滚条件。
结语
可信 Game Stats 不是“客户端全不可信”或“服务端天然可信”这样的口号,而是每类事件有明确权威、身份、幂等、数据边界和回滚。矩阵只有在真实候选上执行才有证据价值;在此之前,最诚实也最安全的状态就是“未执行”。