Docs: skills/README/CHANGELOG for effects client rewrite
- scenarios.md rewritten for server-side execution + effects API - realtime.md deleted; realtime/planstore references purged from docs - CHANGELOG Unreleased: major bump + migration table
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
.NET client SDK for the Rudder LiveOps platform: authentication, player
|
||||
profile, stores, battle pass, quests, leaderboards, inventory, remote config,
|
||||
scenarios, storage and realtime.
|
||||
scenarios (server-driven effects), and storage.
|
||||
|
||||
- Target framework: `netstandard2.1` (works in Unity, .NET, Xamarin).
|
||||
- JSON: Newtonsoft.Json.
|
||||
@@ -36,7 +36,7 @@ Console.WriteLine(profile.Player.Id);
|
||||
// Buy an offer (idempotency key is generated when omitted).
|
||||
var purchase = await client.Stores.PurchaseAsync("main-store", "offer-1");
|
||||
|
||||
// Pump time-dependent services (scenarios, realtime) every frame.
|
||||
// Pump the effects client (30s pending heartbeat + wait deadlines) every frame.
|
||||
client.Update(deltaTime);
|
||||
```
|
||||
|
||||
@@ -58,15 +58,15 @@ stack.
|
||||
| `Inventory` | `InventoryService` | `GetAsync` |
|
||||
| `Leaderboards` | `LeaderboardsService` | `FindBySlug(slug)` → handle: `SubmitAsync`, `ListAsync` |
|
||||
| `RemoteConfig` | `RemoteConfigService` | `LoadAsync`, `Get<T>`, `GetAsync<T>` |
|
||||
| `Scenario` | `ScenarioService` | `TriggerAsync`, `RestoreAsync`, `On*` effect events |
|
||||
| `Scenario` | `ScenarioService` | `TriggerAsync` |
|
||||
| `Effects` | `EffectsService` | `On*` effect events; complete via methods on the effect objects |
|
||||
| `Storage` | `StorageService` | `GetAsync`, `ListAllAsync`, `SaveAsync`, `DeleteAsync` |
|
||||
| `Realtime` | `RealtimeService` | `ConnectAsync`, `DisconnectAsync` |
|
||||
|
||||
## Quests
|
||||
|
||||
`client.Quests` covers the player's global quests — list with per-objective
|
||||
progress, claim, and metric reports. These are distinct from scenario quest
|
||||
nodes, which advance through `QuestSession` (`Scenario.OnQuest`).
|
||||
nodes, which advance through `QuestEffect` (`Effects.OnQuest`).
|
||||
|
||||
```csharp
|
||||
var quests = await client.Quests.ListAsync();
|
||||
@@ -108,11 +108,18 @@ All of them carry `StatusCode` (`int`), the machine-readable `Code`
|
||||
|
||||
## Scenario effects
|
||||
|
||||
Subscribe to typed sessions on `client.Scenario`:
|
||||
The server owns scenario execution. Trigger with `client.Scenario.TriggerAsync`,
|
||||
subscribe to typed effects on `client.Effects`, and call `client.Update` every
|
||||
frame:
|
||||
|
||||
`OnNotification`, `OnStoreOffer`, `OnLeaderboard`, `OnConfigChanged`,
|
||||
`OnWait`, `OnQuest`, `OnBattlePass`, `OnBattlePassLevel`,
|
||||
`OnScenarioCompleted`, `OnScenarioFailed`.
|
||||
`OnNotification`, `OnStoreOffer`, `OnLeaderboard`, `OnWait`, `OnQuest`,
|
||||
`OnBattlePass`, `OnBattlePassLevel`, `OnScenarioCompleted`,
|
||||
`OnScenarioFailed`.
|
||||
|
||||
Complete an effect with the methods on the object (`DoneAsync`,
|
||||
`PurchaseAsync`/`DeclineAsync`, `EndAsync`/`ClaimAsync`, …) or the run
|
||||
stalls. `unknown_run` / `run_expired` drop the run and fire
|
||||
`OnScenarioFailed`.
|
||||
|
||||
## Tests
|
||||
|
||||
|
||||
Reference in New Issue
Block a user