Schnellstart zu Titeldaten
Titeldaten sind der Satz von Nur-Text-Schlüssel-Wert-Paaren, die zum Remotespeichern und Verwalten der Konfigurationsdaten des Spiels auf dem Server verwendet werden. Dadurch werden die titelweiten Konfigurationsvariablen zugänglich und organisiert, die clientseitig abgerufen werden können.
In dieser Schnellstartanleitung wird beschrieben, wie Titeldaten programmgesteuert erstellt und verwendet werden.
Dies ist ein wichtiges Thema, da das Speichern der Konfigurationsdaten eines Spiels per Remotezugriff auf dem Server - wo sie jederzeit geändert werden können - einer der grundlegendsten Gründe für die Verwendung eines Diensts wie PlayFab ist.
Abrufen von Titeldaten
Über den Spielclient
Verwenden Sie GetTitleData von , PlayFabClientAPI
um die KVPs für einen bestimmten Titel abzurufen. Im folgenden Codebeispiel werden die Werte aller Titeldaten angezeigt.
public void ClientGetTitleData() {
PlayFabClientAPI.GetTitleData(new GetTitleDataRequest(),
result => {
if(result.Data == null || !result.Data.ContainsKey("MonsterName")) Debug.Log("No MonsterName");
else Debug.Log("MonsterName: "+result.Data["MonsterName"]);
},
error => {
Debug.Log("Got error getting titleData:");
Debug.Log(error.GenerateErrorReport());
}
);
}
Vom Spielserver
Verwenden Sie GetTitleData von , PlayFabServerAPI
um die KVPs für einen bestimmten Titel abzurufen. Im folgenden Codebeispiel werden die Werte aller Titeldaten angezeigt.
public void ServerGetTitleData() {
PlayFabServerAPI.GetTitleData( new GetTitleDataRequest(),
result => {
if (result.Data == null || !result.Data.ContainsKey("MonsterName")) Debug.Log("No MonsterName");
else Debug.Log("MonsterName: " + result.Data["MonsterName"]);
},
error => {
Debug.Log("Got error getting titleData:");
Debug.Log(error.GenerateErrorReport());
});
}
Festlegen von Titeldaten
Es ist unwahrscheinlich, dass sich Titeldaten sehr häufig ändern. In den meisten Fällen sollten Sie Ihre Titeldaten für statische Daten verwenden, die während der Lebensdauer des Titels größtenteils unverändert sind.
Sie können Titeldaten mithilfe des Game Manager oder einer Server-API-Funktion festlegen.
Festlegen von Titeldaten mithilfe von Game Manager
Führen Sie die folgenden Schritte aus, um einem Titel mithilfe von Game Manager primäre Titeldaten hinzuzufügen.
- Öffnen Sie den Titel im Game Manager.
- Wählen Sie Inhalt und dann Titeldaten aus.
- Wählen Sie Neue Titeldaten aus.
- Geben Sie auf der neuen Titeldatenseite einen Wert für den Schlüssel und einen Wert für den Wert ein. Sowohl der Schlüssel als auch der Wert werden als Zeichenfolgen gespeichert.
- Verwenden Sie die Schaltfläche Speichern , um das neue Datenelement zu speichern.
Festlegen von Titeldaten durch Aufrufen der Server-API in C#
Die SetTitleData-API ist eine Server-API, die Sie von einem dedizierten Server aufrufen müssen. Sie können nur ein Titeldaten-KVP in jedem Aufruf von SetTitleData
festlegen.
public void SetTitleData() {
PlayFabServerAPI.SetTitleData(
new SetTitleDataRequest {
Key = "MonsterName",
Value = "Dorf"
},
result => Debug.Log("Set titleData successful"),
error => {
Debug.Log("Got error setting titleData:");
Debug.Log(error.GenerateErrorReport());
}
);
}
Festlegen von Überschreibungen von Titeldaten mithilfe des Game Managers
Eine Außerkraftsetzung ist auch eine Gruppe von JSON-Schlüssel-Wert-Paaren und sollte idealerweise so verwendet werden, dass sie die delta-Änderung besitzen, die in den Schlüssel-Wert-Paaren der primären Titeldaten erforderlich ist. Die Deltaänderung kann aus den Schlüssel-Wert-Paaren im Vergleich zu Primären Titeldaten als neuer Schlüssel-Wert, änderung des Werts eines vorhandenen Schlüssels oder Löschen eines Schlüssels (mit NULL als Eingabe des Werts) bestehen.
Führen Sie die folgenden Schritte aus, um den primären Titeldaten Außerkraftsetzungen hinzuzufügen.
- Öffnen Sie den Titel im Game Manager.
- Wählen Sie Inhalt und dann Titeldaten aus.
- Wählen Sie Neue Außerkraftsetzung aus.
- Geben Sie Bezeichnung außer Kraft setzen ein, und geben Sie einen Wert für den Schlüssel und einen Wert für den Wert ein. Sowohl der Schlüssel als auch der Wert werden als Zeichenfolgen gespeichert.
- Verwenden Sie die Schaltfläche Speichern , um die neue Außerkraftsetzung von Titeldaten zu speichern.
Notiz
Dieser Außerkraftsetzungssatz von Schlüssel-Wert-Paaren wird vorerst nur mithilfe von Experimenten wirksam. Wenn der Player zu einer Experimentvariante gehört, die Titeldatenüberschreibungen enthält, werden die Außerkraftsetzungen automatisch auf Serverseite angewendet und mit den Titeldaten auf clientseitiger Seite zurückgegeben. Es kann bis zu einer Minute dauern, bis Werte für die Außerkraftsetzung von Titeldaten aktualisiert und beibehalten werden.
Interne Titeldaten
Ähnlich wie bei Benutzerdaten verfügen Titeldaten über internen Speicher, der vom Client ausgeblendet wird. Diese Daten können auch im Game Manager oder über eine Server-API festgelegt werden.
Abrufen interner Titeldaten durch Aufrufen der Server-API in C#
public void GetTitleInternalData()
{
PlayFabServerAPI.GetTitleInternalData( new GetTitleDataRequest(),
result => {
if (result.Data == null || !result.Data.ContainsKey("PlayFab")) Debug.Log("No PlayFab");
else Debug.Log("PlayFab: " + result.Data["PlayFab"]);
},
error => {
Debug.Log("Got error getting titleData:");
Debug.Log(error.GenerateErrorReport());
}
);
}
Festlegen interner Titeldaten durch Aufrufen der Server-API in C#
public void SetTitleInternalData() {
PlayFabServerAPI.SetTitleInternalData(
new SetTitleDataRequest {
Key = "PlayFab",
Value = "{ \"Status\": \"Secretly Awesome\" }"
},
result => { Debug.Log("Set titleData successful"); },
error =>
{
Debug.Log("Got error setting titleData:");
Debug.Log(error.GenerateErrorReport());
});
}