Files
CC-Framework.BriskGameServer/Brisk Unity SDK 快速开始.md

160 lines
3.3 KiB
Markdown
Raw Normal View History

2026-04-10 22:04:51 +08:00
# Brisk Unity SDK 快速开始
本文档用于说明当前仓库内这套 Brisk Unity SDK 的最小接入方式。
## 1. 当前能力
当前 SDK 已经打通以下主链路:
- 初始化 `Brisk.InitializeAsync`
- 本地会话恢复
- 登录与登出
- 玩家信息
- 动态配置
- 公告
- 排行榜
- 云存档
- 玩家空间
当前主要源码位于:
- `Assets/BriskSdk/Runtime`
最小示例脚本位于:
- `Assets/BriskSdk/Samples/QuickStart/BriskQuickStartSample.cs`
## 2. 最小初始化
```csharp
await Brisk.InitializeAsync(new BriskOptions
{
BaseUrl = "https://brisk.lightyears.ltd",
GameKey = "demo-game",
ClientVersion = Application.version,
DeviceId = SystemInfo.deviceUniqueIdentifier
});
```
说明:
- `BaseUrl` 必填
- `GameKey` 必填
- `ClientVersion` 可选但强烈建议传
- `DeviceId` 可选但建议传
## 3. 登录示例
按稳定用户 ID 登录:
```csharp
await Brisk.Auth.LoginWithUserIdAsync("tap", "tap_user_10001", new BriskProfile
{
Nickname = "Player One"
});
```
按 code 登录:
```csharp
await Brisk.Auth.LoginWithCodeAsync("tap", "third-party-code");
```
## 4. 常用调用示例
读取当前玩家:
```csharp
var me = await Brisk.Player.GetMeAsync();
```
读取动态配置:
```csharp
var config = await Brisk.Config.GetCurrentAsync();
```
读取排行榜:
```csharp
var top = await Brisk.Leaderboard.GetTopAsync("season-score", 20);
var meRank = await Brisk.Leaderboard.GetMeAsync("season-score");
await Brisk.Leaderboard.SubmitScoreAsync("season-score", 128);
```
上传云存档:
```csharp
var bytes = System.Text.Encoding.UTF8.GetBytes("{\"save\":1}");
await Brisk.Archive.UploadAsync(1, bytes);
```
读取玩家空间:
```csharp
var space = await Brisk.Space.GetByLoginIdentityAsync("tap", "tap_user_10001");
```
## 5. 默认错误 UI
当前 SDK 已内置默认错误展示器:
- 维护中
- 封号
- 登录态失效
如果未自定义 `ErrorPresenter`SDK 会自动使用默认 IMGUI 弹窗进行展示。
如需替换:
```csharp
Brisk.SetErrorPresenter(myPresenter);
```
接口为:
```csharp
public interface IBriskErrorPresenter
{
void ShowBlockingError(BriskBlockingException exception);
void ShowAuthExpired(BriskAuthExpiredException exception);
}
```
如需在阻断错误确认后执行你自己的退出逻辑:
```csharp
await Brisk.InitializeAsync(new BriskOptions
{
BaseUrl = "...",
GameKey = "...",
ExitHandler = () => Application.Quit()
});
```
## 6. 示例脚本使用方式
当前项目已提供:
- `Assets/BriskSdk/Samples/QuickStart/BriskQuickStartSample.cs`
- `Assets/Scenes/BriskQuickStartScene.unity`
使用方式:
1. 当前仓库是原始 Unity 开发工程,可直接打开 `Assets/Scenes/BriskQuickStartScene.unity`
2. 运行后会看到一个 IMGUI 调试面板,可直接测试初始化、登录、玩家、配置、公告、排行榜、云存档、空间等完整流程
3. 勾选 `AutoRunOnStart`
4. 如需更换环境参数,可在 Inspector 里修改 `BaseUrl``GameKey``LoginProvider``LoginUserId` 等字段后再运行
也可以在组件右键菜单里执行:
- `Run Brisk Sample`
## 7. 当前实现状态
当前 SDK 已实现主流程,但还建议后续继续补:
- 更细粒度的业务异常类型
- 弱网策略
- 更完整的接入文档与注释