为什么这对开发者重要
你提交 Closed Testing 报告到 Google Play 时,Google 自己也跑反作弊检测。如果他们在你的 12 人组里检测到马甲测试员,你的 app 可能被永久拒绝 — 不只是测试期,生产环境也拿不到。
TestHive 的工作是交付 Google 会接受的测试员。这意味着我们要比 Google 更严格。
4 重闸
闸 1 · package 唯一性
同一位测试员 每个 Android package_name 只能 active 一个 Campaign。如果他们正在测试 com.example.myapp 给一位开发者,不能同时给另一位开发者测试同 app。
防止最朴素的欺诈方式 — 一个人加入同 app 的 5 个 Campaign 看起来像 5 位测试员。
闸 2 · 跨账号设备指纹
测试员注册时,我们采集 10 维设备指纹(硬件 + 浏览器 + 行为信号)。两个账号指纹相似度超过阈值,后一个标记为马甲嫌疑。
指纹算法故意不公开 — 公开了就被绕。我们公开的是:同一物理设备上的家人会过不了这道闸,这是故意的(Google 自己的检查也会过不了)。
闸 3 · Play Store 验证
我们用 Google Play 公开的 Play Scraper API 验证:
- 测试员的
testing_url解析到真实 Closed Testing track - Play Store listing 匹配开发者声明的
package_name - 测试 Play Store 账号状态良好
防止测试员加入不存在或欺诈性 app 的 Campaign。
闸 4 · 人工兜底(最后一道)
闸 1-3 结果不确定(中等风险 / 指纹模糊 / 边缘情况),TestHive 支持人工接手。SLA 24-48 小时。
闸 4 也是申诉路径 — 闸 1-3 的拒绝可以申诉到这里。
测试员自己也做不到的事
- 付钱让别人代打卡(不同 IP / 设备 → 指纹不匹配 → 标记)
- 用 VPN 伪装国家(Play Store 账号国家是真相源头)
- 提交 AI 生成截图(我们算感知哈希,跨测试员去重)
- 跑脚本每天同时间自动提交(时序模式分析能抓)
我们不公开的
具体阈值、风险分公式、指纹算法内部 · 公开了就被教着绕。我们公开的是 检查的类别 — 透明到策略层,不透明到漏洞层。
结算后才发现欺诈怎么办
如果 Campaign 结算、测试员收钱后才发现欺诈:
- 该测试员收入回滚(扣余额 · 未来收入预扣)
- Campaign 可验证报告 不作废(你已经用它上架 Google Play · 是一次性事件)
- TestHive 承担所有不可追回的损失 — 开发者不会被二次扣费
防欺诈保险已经包含在 20% 平台费里。风险我们扛。