You've already forked CC-Framework.BriskGameServer
203 lines
4.0 KiB
Markdown
203 lines
4.0 KiB
Markdown
# Brisk Unity SDK 实施计划
|
||
|
||
本文档用于记录 Brisk Unity SDK 的分阶段实施步骤,作为当前项目的实现路线图。
|
||
|
||
## 阶段 1:骨架与约束
|
||
|
||
目标:
|
||
|
||
- 固定 SDK 的公开外形
|
||
- 固定目录结构与命名
|
||
- 建立可编译的基础代码骨架
|
||
|
||
范围:
|
||
|
||
- 创建并完善 `Assets/BriskSdk/Runtime` 开发结构
|
||
- 创建顶层入口 `Brisk`
|
||
- 创建基础对象:
|
||
- `BriskOptions`
|
||
- `BriskContext`
|
||
- `BriskSession`
|
||
- `BriskIdentity`
|
||
- 创建模块入口占位:
|
||
- `Brisk.Auth`
|
||
- `Brisk.Player`
|
||
- `Brisk.Config`
|
||
- `Brisk.Announcements`
|
||
- `Brisk.Leaderboard`
|
||
- `Brisk.Archive`
|
||
- `Brisk.Space`
|
||
- 创建基础异常与核心接口占位
|
||
- 固定首版方法签名
|
||
- 对齐新版后端身份模型:
|
||
- 初始化不再要求 `channel / platform`
|
||
- 登录改为 `login_provider / login_user_id / code`
|
||
|
||
阶段完成标准:
|
||
|
||
- Unity 工程内存在完整 SDK 运行时骨架
|
||
- 代码可编译
|
||
- 对外 API 入口已固定为 `Brisk.xxx`
|
||
|
||
## 阶段 2:初始化与会话基础
|
||
|
||
目标:
|
||
|
||
- 打通 SDK 生命周期入口
|
||
- 打通 bootstrap 与本地会话恢复
|
||
|
||
范围:
|
||
|
||
- 实现 `Brisk.InitializeAsync`
|
||
- 规范化 `BaseUrl`
|
||
- 调用 `GET /client/bootstrap`
|
||
- 缓存 bootstrap 结果
|
||
- 接入本地 token 存储
|
||
- 初始化时恢复本地会话
|
||
- 可选调用 `player/me` 校验旧会话有效性
|
||
|
||
阶段完成标准:
|
||
|
||
- SDK 能完成初始化
|
||
- 能缓存 bootstrap 信息
|
||
- 能恢复本地登录态
|
||
|
||
## 阶段 3:网络底层与严重错误处理
|
||
|
||
目标:
|
||
|
||
- 打稳底层请求能力
|
||
- 只统一接管严重错误
|
||
|
||
范围:
|
||
|
||
- 实现 `BriskHttpClient`
|
||
- 实现统一 JSON 解包
|
||
- 实现异常体系
|
||
- 实现严重错误识别:
|
||
- 维护中
|
||
- 封号
|
||
- 登录态失效
|
||
- 接入默认错误展示器
|
||
- 支持项目方自定义严重错误展示 UI
|
||
|
||
阶段完成标准:
|
||
|
||
- 请求层可用
|
||
- 严重错误可由 SDK 默认 UI 处理
|
||
- 普通错误继续交由调用方自行处理
|
||
|
||
## 阶段 4:登录与玩家基础模块
|
||
|
||
目标:
|
||
|
||
- 打通玩家态核心链路
|
||
|
||
范围:
|
||
|
||
- 实现 `Brisk.Auth.LoginAsync`
|
||
- 或更明确地实现:
|
||
- `Brisk.Auth.LoginWithUserIdAsync`
|
||
- `Brisk.Auth.LoginWithCodeAsync`
|
||
- 实现 `Brisk.Auth.LogoutAsync`
|
||
- 实现 `Brisk.Player.GetMeAsync`
|
||
- 自动附加 Bearer Token
|
||
- 管理登录态与相关事件
|
||
|
||
阶段完成标准:
|
||
|
||
- 初始化后可完成登录
|
||
- 可获取当前玩家信息
|
||
|
||
## 阶段 5:首批高频业务模块
|
||
|
||
目标:
|
||
|
||
- 覆盖首版最高频使用场景
|
||
|
||
范围:
|
||
|
||
- `Brisk.Config`
|
||
- `Brisk.Announcements`
|
||
- `Brisk.Leaderboard`
|
||
|
||
排行榜首版接口:
|
||
|
||
- `GetTopAsync`
|
||
- `GetMeAsync`
|
||
- `GetAroundMeAsync`
|
||
- `SubmitScoreAsync`
|
||
- `GetCurrentSeasonAsync`
|
||
- `GetSeasonHistoryAsync`
|
||
- `GetSeasonHistoryDetailAsync`
|
||
|
||
阶段完成标准:
|
||
|
||
- SDK 已具备主要交付价值
|
||
- 排行榜体验可用于首轮接入
|
||
|
||
## 阶段 6:差异化模块
|
||
|
||
目标:
|
||
|
||
- 补齐 Brisk 的差异化能力
|
||
|
||
范围:
|
||
|
||
- `Brisk.Archive`
|
||
- 槽位列表
|
||
- 元信息
|
||
- 上传
|
||
- 下载
|
||
- 版本冲突处理
|
||
- 校验值处理
|
||
- `Brisk.Space`
|
||
- 按 `player_id` 查询
|
||
- 按 `login_provider + login_user_id` 查询
|
||
- 点赞与取消点赞
|
||
- 更新自己的空间
|
||
- 我的访客
|
||
|
||
阶段完成标准:
|
||
|
||
- 云存档和空间模块可实际使用
|
||
|
||
## 阶段 7:收尾与交付增强
|
||
|
||
目标:
|
||
|
||
- 让 SDK 达到可交付、可接入状态
|
||
|
||
范围:
|
||
|
||
- 默认本地存储实现
|
||
- 默认错误展示 UI 完善
|
||
- 日志开关与调试信息
|
||
- 示例代码
|
||
- Sample Scene
|
||
- 文档补充
|
||
- 自测清单
|
||
|
||
补充约束:
|
||
|
||
- 当前仓库作为 Unity 原始开发工程,活代码放在 `Assets/BriskSdk`
|
||
- 正式对外发包时,再从发布分支整理出 `PackageSource/com.foldcc.cc-framework.BriskGameServer` 子目录作为 UPM 包
|
||
|
||
阶段完成标准:
|
||
|
||
- SDK 可以给外部开发者试接入
|
||
|
||
## 暂缓项
|
||
|
||
以下内容不阻塞首版主线:
|
||
|
||
- 弱网模式与标准模式双策略
|
||
- 更复杂的自动重试策略
|
||
- 多套默认 UI 风格
|
||
- 管理后台 SDK
|
||
|
||
建议:
|
||
|
||
- 首版先完成标准模式
|
||
- 主线可用后再评估弱网模式
|