Verwenden von Spielerstatistiken
In diesem Tutorial wird beschrieben, wie Sie Spielerstatistiken erstellen und verwenden. Spielerstatistiken werden als Schlüssel-Wert-Paare (KEY VALUE Pairs, KVPs) gespeichert, wobei der Schlüssel eine Zeichenfolge ist und der Wert eine 32-Bit-Ganzzahl ist (aus Gründen der Kompatibilität mit Sprachen, die keine 64-Bit-Version unterstützen).
Spielerstatistiken werden auch von Bestenlisten verwendet, aber in diesem Leitfaden werden ausschließlich Spielerstatistiken behandelt. Wenn Sie erfahren möchten, wie Spielerstatistiken und Bestenlisten zusammenarbeiten, lesen Sie unser Tutorial Verwenden von zurücksetzbaren Statistiken und Bestenlisten.
Notiz
In einigen Dokumentationen und API-Aufrufen finden Sie möglicherweise den Begriff UserStatistics. Für die Zwecke dieser Diskussion sind die Begriffe Benutzer und Spieler identisch und austauschbar. Auf der Seite Game Manager bietet die Registerkarte Spieler Zugriff auf die Benutzer/Spieler für Ihren Titel und innerhalb dieser Statistiken. Spielerstatistiken beziehen sich speziell auf Informationen, die an einen Spieler gebunden sind, nicht auf Analyseinformationen über spieler.
Client-API
Der Client hat Zugriff auf das Lesen von Spielerstatistiken, aber um Betrug zu verhindern, ist der Client nicht in der Lage, Statistiken standardmäßig zu aktualisieren.
So aktivieren Sie es:
- Melden Sie sich bei PlayFab an.
- Wählen Sie Ihren Titel aus.
- Wählen Sie im linken Menü Einstellungen aus.
- Wählen Sie die Registerkarte API-Features aus.
- Suchen und aktivieren Sie Client das Veröffentlichen von Spielerstatistiken erlauben.
Notiz
Dadurch wird eine Sicherheitsebene für Ihren Titel deaktiviert, sodass Spieler beliebige Ergebnisse in allen statistiken veröffentlichen können. Wenn Ihr Spiel einen Wettbewerbsaspekt aufweist, empfehlen wir Ihnen, niemals Statistiken vom Client zu veröffentlichen.
Statistiken sind öffentliche Informationen
Es gibt keine privaten oder reinen Serverstatistiken. Ein Spieler kann immer alle eigenen Statistiken über GetPlayerStatistics lesen und alle Statistiken anderer Spieler über Api-Aufrufe der Bestenliste lesen. Dies gilt auch dann, wenn Sie keine Statistik im Spiel anzeigen oder Bestenlisten verwenden.
Die einzige Ausnahme wäre, wenn Sie Clientfeatures über unsere API-Zugriffsrichtlinie deaktivieren. Weitere Informationen zur Verwendung der Richtlinieneinstellungen für Titel finden Sie unter diesem Link, da dies ein erweitertes Thema ist, das in diesem Tutorial nicht behandelt wird.
Festlegen von Statistiken
Der folgende Unity/C#-Code erstellt (oder aktualisiert, falls er bereits vorhanden ist) einen Stärkestatistikwert für einen Spieler.
PlayFabClientAPI.UpdatePlayerStatistics( new UpdatePlayerStatisticsRequest {
// request.Statistics is a list, so multiple StatisticUpdate objects can be defined if required.
Statistics = new List<StatisticUpdate> {
new StatisticUpdate { StatisticName = "strength", Value = 18 },
}
},
result => { Debug.Log("User statistics updated"); },
error => { Debug.LogError(error.GenerateErrorReport()); });
Abrufen von Statistiken
Der folgende Unity/C#-Code ruft alle aktuellen Statistikwerte für einen Spieler ab.
void GetStatistics()
{
PlayFabClientAPI.GetPlayerStatistics(
new GetPlayerStatisticsRequest(),
OnGetStatistics,
error => Debug.LogError(error.GenerateErrorReport())
);
}
void OnGetStatistics(GetPlayerStatisticsResult result)
{
Debug.Log("Received the following Statistics:");
foreach (var eachStat in result.Statistics)
Debug.Log("Statistic (" + eachStat.StatisticName + "): " + eachStat.Value);
}
Aggregationsmethode
PlayFab unterstützt einige praktische Optionen für die Statistikaggregation. Die vier Optionen umfassen:
- Letzte
- Min
- Max.
- Summe
Sie können eine Statistikdefinition über den API-Aufruf CreatePlayerStatisticDefinition erstellen, obwohl dies nicht erforderlich ist. Jeder Aufruf zum Aktualisieren einer Spielerstatistik für den Titel erstellt automatisch die Standardstatistikdefinition mithilfe der Last Aggregation-Methode.
Um eine Statistikaggregationsmethode zu ändern, können Sie den Game Manager oder den UpdatePlayerStatisticDefinition-API-Aufruf verwenden.
So bearbeiten Sie eine Statistikdefinition in Game Manager:
Melden Sie sich bei PlayFab an.
Wählen Sie Ihren Titel aus.
Wählen Sie im Menü auf der linken Seite Bestenlisten aus (Statistiken und Bestenlisten sind eng miteinander verbunden).
Wählen Sie die vorhandene Statistik aus, die Sie ändern möchten, oder –
Wählen Sie die Schaltfläche Neue Bestenliste aus.
- Für eine vorhandene Statistik haben Sie eine weitere Seite mit der Schaltfläche Bestenliste bearbeiten .
An diesem Punkt sollte die unten gezeigte Seite angezeigt werden.
Einige Beispiele für die Verwendung der statistischen Aggregation:
Max und Min können verwendet werden, um die besten/schlechtesten Bewertungen wie Headshots oder Accuracy zu speichern:
- Kurz gesagt, sie wenden die Regel von an: Wenn diese höher (oder niedriger) als die vorhandene Bewertung ist, aktualisieren Sie die Bewertung.
- Veröffentlichen Sie die Statistik für das Sitzungsende, und die Min/Max-Aggregation kümmert sich um die Aktualisierung oder nicht.
- Diese können für zurücksetzbare Bestenlisten sowie für eine PlayStream-Regel , die Erfolge gewährt, sehr nützlich sein.
Summe könnte verwendet werden, um Erfahrungspunkte zu speichern:
- Sie posten die Erfahrung, die dieser Kampf gewonnen hat, und sie wird dem vorhandenen Statistikwert für den Spieler hinzugefügt.
Last ermöglicht es Ihnen, die Statistik selbst zu verwalten:
- Jedes Mal, wenn Sie eine Statistik veröffentlichen, wird der neueste Wert verwendet.
Bestenlisten
Eine Bestenliste wird für alle in PlayFab gespeicherten Statistiken generiert. Der Zugriff auf eine Bestenliste für eine bestimmte Statistik ist optional.
Zurücksetzungshäufigkeit und Aggregationsmethoden spielen eine wichtige Rolle bei der Dynamik der Bestenlisten in Ihrem Spiel. Das Turnierfeature konzentriert sich auf Bestenlisten mit automatischen Zurücksetzungshäufigkeiten und wird im Tutorial Verwenden von zurücksetzbaren Statistiken und Bestenlisten beschrieben.
Wir empfehlen Ihnen, Statistiken auf jede Weise zu verwenden, die für Ihr Spiel relevant ist. Sie können rücksetzbare Statistiken verwenden, um tägliche Turniere und langfristige Statistiken wie Erfahrungspunkte parallel durchzuführen.