2.0.0: Rudder.Core 2.0.0 DLL, samples and skill docs on slugs and environments
Claude-Session: https://claude.ai/code/session_01SMCvdwDmuxoaqGgvGBLk1V
This commit is contained in:
@@ -1,5 +1,37 @@
|
||||
# Changelog
|
||||
|
||||
## 2.0.0
|
||||
|
||||
Breaking changes, following Rudder.Core 2.0.0 and the backend environments
|
||||
release. The bundled `Runtime/Plugins/Rudder.Core.dll` is rebuilt from
|
||||
Rudder.Core 2.0.0.
|
||||
|
||||
A project now has exactly two environments, `staging` and `prod`. The SDK key
|
||||
set in `RudderConfiguration` belongs to one of them, so the environment is
|
||||
resolved at login and carried inside the tokens; nothing in the API takes an
|
||||
environment argument and players do not cross between environments. Tokens
|
||||
saved to PlayerPrefs by 1.x have no environment claim and are rejected with
|
||||
401: the refresh fails, the stored tokens are cleared and
|
||||
`Auth.AuthStateChanged` fires `SignedOut`, so call `LoginWithDeviceAsync`
|
||||
again on that event.
|
||||
|
||||
Quests, scenarios and offers are addressed by slug instead of id, because ids
|
||||
differ between staging and prod. `Quest.Id` became `Quest.Slug`,
|
||||
`Quests.ClaimAsync` takes a quest slug, `Quests.ReportProgressAsync` returns
|
||||
quest slugs, `Stores.PurchaseAsync` takes an offer slug and `Offer` carries a
|
||||
`Slug`, `QuestMetrics.PurchaseOffer` builds its metric from the offer slug,
|
||||
and every scenario-scoped effect and request exposes `ScenarioSlug` instead of
|
||||
`ScenarioId` (`PendingEffect`, `ScenarioCompletedEffect`,
|
||||
`ScenarioFailedEffect`, the battle pass requests,
|
||||
`BattlePass.GetProgressAsync`). `Store.ScenarioId` is unchanged — it is an
|
||||
authoring reference, not a player-facing one. The Store/Inventory and
|
||||
Scenarios samples were updated to `offer.Slug`.
|
||||
|
||||
Also inherited from Core: the effects client reconciles against every pending
|
||||
poll, so a run that disappeared server-side emits `OnScenarioCompleted`
|
||||
instead of lingering, and `run_not_active` is a terminal rejection that drops
|
||||
the run and emits `OnScenarioFailed`.
|
||||
|
||||
## 1.0.0
|
||||
|
||||
Breaking changes, following the Rudder.Core 1.0.0 rework:
|
||||
|
||||
Reference in New Issue
Block a user