Hinzufügen von Kontextdaten zu Statistiken
In diesem Tutorial wird erläutert, wie Kontextinformationen hinzugefügt werden, wenn eine Statistik aktualisiert wird. Es gibt Fälle, in denen das Speichern der Statistiken nicht ausreicht. Das Game Studio könnte einige Details dazu hinzufügen, wie ein Spieler eine bestimmte Aktion ausgeführt hat, oder es könnte ein Feature innerhalb des Spiels geben, das sich auf die Statistik bezieht.
Wir werden mit unserem kompetitiven Shooter-Spiel fortfahren. In diesem Beispiel hat das Spiel enormen Erfolg, steht aber vor einer Herausforderung. Es gibt zu viele Beschwerden darüber, dass Menschen das Spiel mit externen Komponenten "hacken", die Rückstoß auf die Waffen entfernen und die Zielhilfe verbessern. Jetzt sind wir damit beauftragt, weitere Informationen zu allen verwendeten Komponenten und Netzwerkinformationen in unserem Spiel nachzuverfolgen.
Erstellen einer Statistik
Um zu zeigen, wie sie mit diesem Szenario umgehen können, verwenden wir die Statistikdefinition auf der Seite Doing More With Statistics (Mehr mit Statistiken tun ). Anhand dieser Definition erfahren Sie, wie Sie metadaten zu jeder Zeile hinzufügen, die der Statistik hinzugefügt wird.
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 = 1,
ResetInterval = ResetInterval.Manual,
},
Columns = new List<StatisticColumn>()
{
new StatisticColumn()
{
Name = "Distance",
AggregationMethod = StatisticAggregationMethod.Max,
},
new StatisticColumn()
{
Name = "Caliber",
AggregationMethod = StatisticAggregationMethod.Min,
}
},
};
PlayFabResult<PlayFab.LeaderboardsModels.EmptyResponse> createStatDefResult = await statsAPI.CreateStatisticDefinitionAsync(statDefinitionRequest);
}
Für dieses Tutorial ist das wichtige Element, das aus diesem Beispiel entnommen werden muss, die Struktur der Statistik. Wie Sie sehen können, verfügt sie über mehrere Spalten, die mehrere Werte zulassen. Unser Fokus liegt jedoch darauf, wie wir jeder dieser Zeilen Kontextinformationen hinzufügen können.
Hinzufügen von Metadaten zu jeder Statistik
Wir möchten wissen, ob der Spieler über nicht autorisierte Hardware verfügt, die sich auf das Spiel auswirkt, oder andere Schadsoftware, die die Leistung des Spielers verbessern könnte. Das Anti-Cheat-System ist in der Lage, all diese Informationen zu erhalten. Wir müssen diese Informationen nur für die Long Shots-Statistik anfügen.
Um diese Aktion auszuführen, verwenden wir die UpdateStatistics-API. Hier können wir uns das SDK-Beispiel ansehen:
public static async Task UpdateStatisticForPlayer(PlayFabAuthenticationContext context, string statName, string entityId, int score)
{
PlayFabProgressionInstanceAPI statsAPI = new PlayFabProgressionInstanceAPI(context);
UpdateStatisticsRequest updateStatRequest = new UpdateStatisticsRequest()
{
Entity = new PlayFab.LeaderboardsModels.EntityKey()
{
Id = entityId,
Type = EntityType
},
AuthenticationContext = context,
Statistics = new List<PlayFab.LeaderboardsModels.StatisticUpdate>()
{
new PlayFab.LeaderboardsModels.StatisticUpdate()
{
Name = statName,
Scores = new List<string> { score.ToString()},
Metadata = "Anticheat data"
}
}
};
PlayFabResult<UpdateStatisticsResponse> updateResult = await statsAPI.UpdateStatisticsAsync(updateStatRequest);
}
Das Standard Konzept, das wir hier sehen können, ist die Verwendung des Metadata
Parameters innerhalb von , der StatisticUpdate
sich auf Kontextdaten bezieht, die ein Teil aus dem Wert selbst aktualisiert werden. Hier können wir alle Informationen hinzufügen, die für einen Entwickler sinnvoll sein könnten, in diesem Fall die Anti-Cheat-Daten.
Mit diesen Beispielen sind wir nun in der Lage, alle relevanten Informationen von unseren Top-Spielern nachzuverfolgen, sodass Spielmoderator*innen bessere Entscheidungen darüber treffen können, wer gesperrt werden soll.
Schlüsse
In diesem Tutorial haben wir gelernt, wie die folgenden Vorgänge ausgeführt werden:
- Erstellen Sie eine mehrspaltige Statistik.
- Fügen Sie der Statistik Metadaten hinzu.