You've already forked CC-Framework.BriskGameServer
更新文档
This commit is contained in:
@@ -2,18 +2,18 @@
|
||||
|
||||
## 1. 这份文档适合做什么
|
||||
|
||||
这份文档用于说明当前 Brisk Unity SDK 的接入结构与推荐调用方式。
|
||||
这份文档用于在 Unity 侧封装 Brisk SDK。
|
||||
|
||||
当前 SDK 已采用静态总入口:
|
||||
建议把 SDK 拆成以下层次:
|
||||
|
||||
- `Brisk.InitializeAsync(...)`
|
||||
- `Brisk.Auth.xxx`
|
||||
- `Brisk.Player.xxx`
|
||||
- `Brisk.Config.xxx`
|
||||
- `Brisk.Announcements.xxx`
|
||||
- `Brisk.Leaderboard.xxx`
|
||||
- `Brisk.Archive.xxx`
|
||||
- `Brisk.Space.xxx`
|
||||
- `BriskTime`
|
||||
- `BriskClient`
|
||||
- `BriskAuth`
|
||||
- `BriskConfig`
|
||||
- `BriskAnnouncements`
|
||||
- `BriskRanks`
|
||||
- `BriskArchives`
|
||||
- `BriskSpaces`
|
||||
|
||||
## 2. 初始化模型
|
||||
|
||||
@@ -26,6 +26,8 @@ Unity 客户端初始化建议持有:
|
||||
|
||||
不再需要项目级 `channel / platform`。
|
||||
|
||||
如果只是做平台授时,不需要传 `gameKey`,可以单独调用时间接口。
|
||||
|
||||
示例:
|
||||
|
||||
```csharp
|
||||
@@ -64,18 +66,31 @@ Task<LoginResult> LoginAsync(
|
||||
|
||||
## 4. 推荐接入顺序
|
||||
|
||||
1. `BootstrapAsync()`
|
||||
2. 从第三方 SDK 获取:
|
||||
1. 可选:`SyncServerTimeAsync()`
|
||||
2. `BootstrapAsync()`
|
||||
3. 从第三方 SDK 获取:
|
||||
- `loginProvider`
|
||||
- `loginUserId` 或 `code`
|
||||
- 可选昵称、头像、扩展资料
|
||||
3. `LoginAsync(...)`
|
||||
4. 保存 `accessToken`
|
||||
5. 拉取:
|
||||
4. `LoginAsync(...)`
|
||||
5. 保存 `accessToken`
|
||||
6. 拉取:
|
||||
- `GetMeAsync()`
|
||||
- `GetCurrentConfigAsync()`
|
||||
- `ListAnnouncementsAsync()`
|
||||
6. 进入业务模块
|
||||
7. 进入业务模块
|
||||
|
||||
平台授时接口建议封装:
|
||||
|
||||
```csharp
|
||||
Task<ServerTimeResult> SyncServerTimeAsync()
|
||||
```
|
||||
|
||||
建议返回:
|
||||
|
||||
- `ServerTime`
|
||||
- `ServerUnix`
|
||||
- `ServerUnixMs`
|
||||
|
||||
## 5. 身份模型建议
|
||||
|
||||
@@ -142,27 +157,12 @@ Task LikeSpaceByLoginIdentityAsync(string loginProvider, string loginUserId)
|
||||
- msgpack bytes
|
||||
- 压缩后的存档二进制
|
||||
|
||||
当前 SDK 已提供:
|
||||
Unity SDK 建议提供:
|
||||
|
||||
- `GetArchiveSlotsAsync()`
|
||||
- `GetArchiveMetaAsync(slotNo)`
|
||||
- `UploadAsync(slotNo, byte[], baseVersion, checksum)`
|
||||
- `UploadTextAsync(slotNo, text, baseVersion, checksum)`
|
||||
- `UploadJsonAsync(slotNo, payload, baseVersion, checksum)`
|
||||
- `UploadArchiveAsync(slotNo, baseVersion, checksum, byte[])`
|
||||
- `DownloadArchiveAsync(slotNo)`
|
||||
- `DownloadTextAsync(slotNo)`
|
||||
- `DownloadJsonAsync(slotNo)`
|
||||
|
||||
推荐上层使用策略:
|
||||
|
||||
- 文本存档:优先直接用 `UploadTextAsync / DownloadTextAsync`
|
||||
- JSON 存档:优先直接用 `UploadJsonAsync / DownloadJsonAsync`
|
||||
- 二进制存档:继续用 `UploadAsync / DownloadAsync`
|
||||
|
||||
其中:
|
||||
|
||||
- SDK 会自动计算上传用 `checksum`
|
||||
- 手动传 `checksum` 时也可以带 `sha256:` 前缀,SDK 会自动归一化
|
||||
|
||||
## 9. 玩家空间模块建议
|
||||
|
||||
@@ -177,7 +177,7 @@ Task LikeSpaceByLoginIdentityAsync(string loginProvider, string loginUserId)
|
||||
- 小型二进制空间内容
|
||||
- 文本、JSON、protobuf、msgpack 等自定义格式
|
||||
|
||||
当前 SDK / 接口核心是:
|
||||
当前接口核心是:
|
||||
|
||||
- `UploadMySpaceContentAsync(baseVersion, contentType, checksum, byte[])`
|
||||
- `DownloadSpaceContentByPlayerIdAsync(playerId)`
|
||||
@@ -188,16 +188,6 @@ Task LikeSpaceByLoginIdentityAsync(string loginProvider, string loginUserId)
|
||||
- `LikeSpaceByLoginIdentityAsync(loginProvider, loginUserId)`
|
||||
- `GetMyVisitsAsync(limit)`
|
||||
|
||||
当前 SDK 额外提供了一个极简便捷入口:
|
||||
|
||||
- `Brisk.Space.UpdateMyAsync(payload, baseVersion, contentType, checksum)`
|
||||
|
||||
它的行为是:
|
||||
|
||||
- `payload` 为 `string` 时,自动按 `text/plain` 上传
|
||||
- `payload` 为 `byte[]` 时,自动按 `application/octet-stream` 上传
|
||||
- `payload` 为其他对象时,自动序列化为 JSON 并按 `application/json` 上传
|
||||
|
||||
建议 SDK 暴露两层模型:
|
||||
|
||||
- 空间主信息:
|
||||
@@ -213,8 +203,7 @@ Task LikeSpaceByLoginIdentityAsync(string loginProvider, string loginUserId)
|
||||
- 下载响应头中的 `X-Space-Version`
|
||||
- 下载响应头中的 `X-Space-Checksum`
|
||||
|
||||
如果上层业务追求最省事,可以直接用 `UpdateMyAsync(string)` 或 `UpdateMyAsync(object)`;
|
||||
如果业务自己管理编码、压缩、protobuf、msgpack 等格式,则继续走 `byte[]` 上传下载接口。
|
||||
如果上层业务实际保存的是文本或 JSON,建议仍按 `byte[]` 统一收发,再由业务层自己决定如何编码和反序列化。
|
||||
|
||||
## 10. 动态配置建议
|
||||
|
||||
|
||||
Reference in New Issue
Block a user