Sammlungen
Wichtig
Economy v2 ist jetzt allgemein verfügbar. Unterstützung und Feedback erhalten Sie im PlayFab-Forum.
Der Economy v2 Inventory-Dienst führt das Konzept von Sammlungen ein, die mehr Flexibilität und Unterstützung für Ihre Bestandsanforderungen erhöhen können. Sammlungen sind der Mechanismus, der es einem einzelnen Player/einer PlayerId ermöglicht, mehrere Inventare zu haben. Dieses Feature kann verwendet werden, um mehrere Inventare für verschiedene Charaktere für denselben Spieler zu verwalten, separate Inventare für verschiedene Plattformen zu haben und vieles mehr!
Inventur-API-Aufrufe können einen CollectionId
Parameter annehmen, der die Sammlung bzw. den Bestand angibt, in der die Aktion ausgeführt werden soll. Das Erstellen einer neuen Sammlung erfolgt durch Hinzufügen eines Elements/Stapels zu einer nicht verwendeten CollectionId.
Verwalten von Bestandssammlungen
GetInventoryCollectionIds
Mithilfe der GetInventoryCollectionIds
API können Sie eine Liste von CollectionId
s für einen bestimmten Spieler abrufen. Spieler dürfen nur auf ihre eigene Liste von IDs zugreifen. Titelentitäten können einen Entity
Parameter übergeben, um anzugeben, auf welchen Spielerbestand sie zugreifen möchten.
Eine Beispielanforderung GetInventoryCollectionIds
:
{
"Entity": {
"Type": "title_player_account",
"Id": "ABCD12345678"
},
"Count": 15,
"ContinuationToken": "abc="
}
Diese Anforderung würde die folgende Antwort zurückgeben:
{
"data": {
"CollectionIds": [
"default".
"main_character"
]
}
}
Fortsetzungstoken
Das ContinuationToken
Feld, das von einer Suchantwort zurückgegeben wird, kann an eine Bestandsanforderung übergeben werden, um mehrere Anzahlen von Ergebnissen zu paginieren.
Hinzufügen einer neuen Bestandssammlung
Das Erstellen einer neuen Sammlung für einen Spieler erfolgt durch Ausführen einer beliebigen Schreibanforderung mit einer neuen CollectionId.
In der folgenden AddInventoryItems
Anforderung wird beispielsweise die collectionId verwendet. main_character
{
"Entity": {
"Type": "title_player_account",
"Id": "ABCD12345678"
},
"CollectionId": "main_character",
"Item": {
"Id": "0b440353-bdbc-48d8-8873-f0988c1f9d8b",
},
"Amount": 10,
}
Die obige Anforderung würde entweder eine brandneue Bestandssammlung von erstellen und 5 des Elements hinzufügen oder der vorhandenen main_character
Bestandssammlung 5 hinzufügen, wenn sie bereits vorhanden ist.
DeleteInventoryCollection
In der DeleteInventoryCollectionId
API können Sie die definieren, die CollectionId
Sie löschen möchten. Das Löschen ist ein asynchroner Vorgang und kann bei umfangreichen Sammlungen länger dauern. Die Sammlung kann erst dann neu erstellt werden, wenn der Löschvorgang abgeschlossen ist.
Eine Beispielanforderung DeleteInventoryCollectionIds
:
{
"Entity": {
"Type": "title_player_account",
"Id": "ABCD12345678"
},
"CollectionId": "main_character"
}
Notiz
Derzeit sind APIs die einzige Möglichkeit zum Löschen von Bestandssammlungen. Game Manager kann derzeit nur zum Anzeigen und Hinzufügen von Elementen zu neuen und vorhandenen Sammlungen verwendet werden. Weitere Funktionen werden in Zukunft hinzugefügt.
ExecuteInventoryOperations-API
Sie können einen CollectionId
Parameter in der ExecuteInventoryOperations
API festlegen. Mit diesem Parameter können Sie die Sammlung definieren, in der die Vorgänge ausgeführt werden sollen.
Beispielanforderung ExecuteInventoryOperations
mit Stapeln:
{
"Entity": {
"Type": "title_player_account",
"Id": "ABCD12345678"
},
"CollectionId": "main_character",
"Operations": [
{
"Update": {
"Item" {
"Id": "0b440353-bdbc-48d8-8873-f0988c1f9d8b",
"Amount": 10
}
}
},
{
"Subtract": {
"Item" {
"Id": "0b440353-bdbc-48d8-8873-f0988c1f9d8b",
},
"Amount": 5
}
}
]
}