Saisonale Statistiken
In diesem Tutorial wird das Konzept der Versionsverwaltung für Statistiken erläutert. Es gibt mehrere Fälle, in denen wir unterschiedliche Versionen einer bestimmten Statistik verwenden möchten. Wenn ein Spiel z. B. Saisons aufweist, werden die Statistiken wahrscheinlich zurückgesetzt, wenn die neue Saison beginnt.
Wir fahren mit dem Beispiel aus der Create Basic Statistic (Einfache Statistik erstellen) fort. Stellen Sie sich vor, dass unser Shooter-Spiel sehr beliebt wird. Daher wird das Konzept der Jahreszeiten eingeführt. Jeden Monat veröffentlicht das Spiel eine neue Designsaison für die gesamte Spielerbasis. Daher möchten wir unabhängige Statistiken pro Saison beibehalten.
Erstellen einer Statistikdefinition für die Versionsverwaltung
Im vorherigen Beispiel gab es beim Erstellen einer Statistikdefinition einen Hinweis zur Wichtigkeit des Parameters für die VersionConfiguration
Versionsverwaltung. Hier erfahren Sie, wie Sie es verwenden und wie es funktioniert.
public static async Task CreateStatisticDefinitionAsync(PlayFabAuthenticationContext context, string statName)
{
PlayFabProgressionInstanceAPI statsAPI = new PlayFabProgressionInstanceAPI(context);
CreateStatisticDefinitionRequest statDefinitionRequest = new CreateStatisticDefinitionRequest()
{
Name = statName,
AuthenticationContext = context,
EntityType = "title_player_account",
VersionConfiguration = new VersionConfiguration()
{
MaxQueryableVersions = 12,
ResetInterval = ResetInterval.Month,
},
Columns = new List<StatisticColumn>()
{
new StatisticColumn()
{
Name = "Longshots",
AggregationMethod = StatisticAggregationMethod.Max,
}
},
};
PlayFabResult<PlayFab.LeaderboardsModels.EmptyResponse> createStatDefResult = await statsAPI.CreateStatisticDefinitionAsync(statDefinitionRequest);
}
Der Standard Unterschied in diesem Beispiel zur grundlegenden Statistik ist der VersionConfiguration
Parameter. Mit diesem Parameter können wir eine MaxQueryableVersions
Einstellung definieren, die angibt, wie viele Versionen derselben Statistik wir abfragen können. In diesem Fall wird die Abfrage auf 12 Versionen festgelegt.
Der ResetInterval
-Parameter definiert, wie oft der Zurücksetzungsvorgang stattfindet. Dieser Prozess umfasst das Erstellen einer Statistik mit der gleichen Konfiguration wie zuvor, aber ohne Wert, und der Versionsparameter ändert sich wie folgt: N = N + 1, mit N = 0 bei der Erstellung der Statistikdefinition.
Wir haben beispielsweise eine Statistik mit dem Versionsparameter gleich 2 mit einem angegebenen Wert. Jetzt erhöhen wir die Version dieser Statistik, dann wird das Ergebnis eine neue Statistik sein, deren Versionsparameter gleich drei ohne Werte ist. In der Zwischenzeit verbleibt die vorherige Statistik im System, um eine Abfrage zu erhalten.
Die ResetInterval
kann auf mehrere Arten funktionieren. In diesem Beispiel ist es monatlich, kann aber entsprechend den Anforderungen des Entwicklers geändert werden. In diesem speziellen Fall bedeutet dies, dass die Bestenliste jeden Monat automatisch zurückgesetzt wird, ab dem Zeitpunkt, zu dem sie konfiguriert wurde. Wir unterstützen die folgenden Zurücksetzungsstrategien:
- Tag
- Stunde
- Manuell
- Monat
- Woche
API-Referenz: Erstellen einer Statistik
Erhöhen der Version einer Statistik
Mit dieser neuen Konfiguration können mehrere Versionen derselben Statistik für verschiedene Jahreszeiten verwendet werden. Aber was passiert, wenn wir die Bestenliste aufgrund eines Problems manuell zurücksetzen und in der Saison beginnen müssen? In solchen Fällen können wir mithilfe der API eine manuelle Zurücksetzung durchführen. Hier sehen Sie ein Beispiel für die Verwendung des SDK:
public static async Task ResetStatistic(PlayFabAuthenticationContext context, string statName)
{
PlayFabProgressionInstanceAPI statsAPI = new PlayFabProgressionInstanceAPI(context);
IncrementStatisticVersionRequest resetStatRequest = new IncrementStatisticVersionRequest()
{
AuthenticationContext = context,
Name = statName,
};
PlayFabResult<PlayFab.LeaderboardsModels.IncrementStatisticVersionResponse> resetStatResponse = await statsAPI.IncrementStatisticVersionAsync(resetStatRequest);
}
Jetzt sind wir bereit, alle Herausforderungen bei der Versionsverwaltung von Statistiken zu bewältigen. Ein wichtiger Aspekt ist hierbei, dass die Anzahl der Statistikdefinitionen, die wir als Versionen beibehalten möchten, bei verwendung des Speichers innerhalb des Diensts meter ist. Weitere Informationen hierzu finden Sie hier:
Schlüsse
In diesem Tutorial haben wir gelernt, wie die folgenden Vorgänge ausgeführt werden:
- Erstellen einer Statistik mit der richtigen Zurücksetzungsstrategie
- Erhöhen der Version einer Statistik