iNeed创作者文档

功能接入

本页目录

排行榜

先确定真实开局、结算和评分代码,再接入。模拟数值只用于隔离测试,不写入正式榜单。

确认榜单规则

必填:boardKey、名称、分数公式与单位、升序/降序、合法分数范围、合法耗时、真实开局及结算事件。可选:世界/省/市、同分规则、赛季和重置要求。平台不支持的配置标记待办,不能在游戏里悄悄替换排序或修改已发布规则。

数据流

  1. leaderboards.list 得到 value.boards 和 profile,确认目标 boardKey 存在。不要拿商品 key 当榜单 key。
  2. 真正开始一局时生成唯一 runId,并保存身份、开始时间和规则版本;暂停计时是否计入按确认规则处理,不能临时重算。
  3. 结束一次冻结 boardKey/runId/score/durationMs,可选 endedAt/stats。需要登录时保存该结算,登录后仍提交原数据,不生成新成绩。
  4. leaderboards.submit 成功读取 value.receipt,显示个人最佳和排名。网络失败后复用冻结数据重试;身份已换则停止旧局提交到新账号。
  5. 展示自绘榜单用 leaderboards.get,平台榜单用 open_leaderboard;详情见接口手册。

自绘与平台界面

自绘时显示榜单标题、世界/省/市切换、名次、昵称、成绩、自己的最好成绩及分页。昵称与头像使用返回资料并提供空值占位,字体覆盖动态中文。地区缺失时提示选择或显示世界榜,不能静默把城市榜换成另一个地区。

平台 UI 接收 boardKey/scope,负责现成列表;真实成绩提交仍需游戏代码。leaderboards.profile 返回档案;leaderboards.region 使用合法地区代码更新地区。v1 Godot 未提供地区目录查询包装,不虚构接口;自绘地区选择需平台确认可用代码来源。

失败与反作弊边界

未登录、榜单不存在、范围错误、成绩/耗时不合法、地区修改限制、账号变化均显示实际失败,不能声称“上传成功”。保留冻结结算供符合条件时重试,不循环刷榜。客户端提交分数不是防作弊证明;高价值竞技需要额外的服务端玩法验证,不能承诺 SDK 自动防改分。

验收

同一 runId 重试不产生新局次;篡改同一 runId 的数据被拒绝;真实耗时和分数符合配置;切账号后不串数据;空榜、分页、世界/省/市和中文昵称正常;平台 UI 与自绘 UI 看到同一配置。交付真实入口、计分说明、请求/回执及未验证项。