Steamworks-Dokumentation
GetAssetClassInfo/v0001
Gibt die Details zurück, die notwendig sind, um einem Nutzer eine Elementklasse anzuzeigen. Diese Methode wird für jedes Element, das sich im Inventar des Nutzers befindet, mindestens einmal aufgerufen. Dabei werden große Datenmengen zwischengespeichert, sodass sie durchaus weniger oft als einmal pro Elementanzeige aufgerufen werden kann. Wenn der Cache aus irgendeinem Grund ablaufen soll, können Sie die Elementklassenversion im Tab „Wirtschaft“ in den technischen Details Ihrer Anwendung ändern.

Üblicherweise werden die Klassenbezeichner vollständig im Spiel definiert, in dem das Element existiert. Die einzige Ausnahme ist die Währung. Steams Economy-Server kann GetAssetClassInfo mit einem einzelnen Bezeichner namens „currencyid“ aufrufen und dabei als Wert die ID der angeforderten Währung angeben. In diesem Fall sollte der Asset-Server die Details zur Währungsanzeige sowie die Details zur Elementanzeige zurückgeben.

Aufgerufen von: Inventar-UI

HTTP-Methode: GET

Parameter:

NameTypErforderlich?Beschreibung
keystringDies ist der „Asset-Server-Schlüssel“, den Sie in den Steam-Wirtschaftseinstellungen Ihrer Anwendung auf der Partnerseite angegeben haben.
appiduint32Die 32-Bit-App-ID der Anwendung, auf die sich das Element bezieht.
class_countuint32Die Anzahl der angegebenen Klassenbezeichner.
class_name#stringDer Name des Bezeichners. Für jede Zahl zwischen 0 und class_count-1 gibt es einen dieser Parameter. (z. B. class_name0, class_name1, class_name2).
class_value#stringDer Wert des Bezeichners. Für jede Zahl zwischen 0 und class_count-1 gibt es einen dieser Parameter. (z. B. class_value0, class_value1, class_value2).
languagestringDer Sprachcode (ISO 639-1) sowie der Ländercode (ISO 3166-1 alpha 2) der Sprache des zurückgegebenen Strings. Beispiele: en_US, de_DE, zh_CN oder ko_KR. Standard: en_US.

Rückgabewert

Die Ausgabe dieser Methode sollte im JSON-Format kodiert sein.

Antwort:
  • result
    • success: „true“, wenn die Methode erfolgreich war. Wenn der Asset-Server „false“ zurückgibt, sollte error auf einen String eingestellt werden, in dem der Grund dafür erklärt wird.
    • error: Ein String, der beschreibt, warum dieser Aufruf fehlgeschlagen ist. Diese Nachricht wird im Fehlerprotokoll aufgezeichnet, das im Tab „Wirtschaft“ auf der Webseite von Steamworks verfügbar ist.
    • asset: Ein Objekt mit den Anzeigedetails für die angegebenen Elementklassenbezeichner.

Anzeigedetails:

  • background_color: RGB-Hex-Farbwert, dargestellt als String.
  • icon_url: Das Symbol, das für das Element verwendet werden soll. Das Bild muss im Format JPEG, GIF oder PNG vorliegen.
    PNG und GIF werden bevorzugt, da sie Transparenz unterstützen. Spiele können über dieses Feld eine einheitliche Symbolgröße bereitstellen, die von Steam dann an das jeweilige UI angepasst wird. Diese Größe sollte mindestens 200 × 200 Pixel betragen. Steam verteilt alle Benutzern angezeigten Bilder über CDN, sodass es relativ wenig Zugriffe auf diese URL gibt.
  • icon_url(optional): Das Symbol, das für das Element verwendet werden soll. Das Bild sollte genauso formatiert sein wie icon_url.
    Das große Symbol sollte mindestens 330 × 192 Pixel groß sein. Wenn keine icon_url_large angegeben ist, wird stattdessen icon_url verwendet.
    Steam verteilt alle Benutzern angezeigten Bilder über CDN, sodass es relativ wenig Zugriffe auf diese URL gibt.
  • descriptions : Ein Array von Beschreibungen zur Anzeige für dieses Element. Sie erscheinen im Array in Tooltips und
    detaillierten Gegenstandsbeschreibungen in der Reihenfolge:
    • type (optional): Das Feld type steuert die Darstellung des Felds value.
      Es kann einen der folgenden Werte aufweisen:
      • text: Der Wert wird als lokalisierter Rohtext in der angegebenen Sprache interpretiert. Einige Zeichen (Kleiner als, Größer als usw.) werden in HTML-Entitäten konvertiert, sodass sie nicht als Tags gelesen werden können. Alle Zeilenvorschübe werden in <br> umgewandelt.
        Dieser Typ sollte für von Benutzern gelieferte Daten verwendet werden. text ist der Standardtyp, falls kein eigener Typ angegeben ist.
      • html: Der Wert wird als HTML in die Seite aufgenommen, wobei die Tags intakt bleiben.
    • image: Der Wert ist die URL eines Bilds, das gemeinsam mit dieser Beschreibung angezeigt wird. Steam verteilt alle Benutzern angezeigten Bilder über CDN, sodass es relativ wenig Zugriffe auf diese URL gibt.
    • value: Lokalisierter String, der für diese Beschreibung angezeigt wird.
    • color (optional): Eine RGB-Hex-Farbe zur Darstellung des Werts. Verwenden Sie dazu die Farbe, in der diese Informationen in der Spiel-UI angezeigt werden. Dieses Feld gilt nur für Werte des Typs text.
    • label (optional): Wenn dieses Feld vorhanden ist, wird dem Beschreibungswert diese Bezeichnung vorangestellt.
  • tags (optional): Ein Array von Tags, die sich auf das Element beziehen. Sie werden den Nutzern an verschiedenen Stellen des UI als Filteroptionen angezeigt, unter anderem im Communitymarkt und im Nutzerinventar.
    • internal_name: Ein Name zur Identifizierung dieses Tags. Interne Namen werden dem Benutzer nicht angezeigt. Verwenden Sie im internal_name keine Leerzeichen, Nicht-ASCII-Zeichen oder nicht druckbare Zeichen.
    • item_name: Der lokalisierte Name dieses Tags. Wird dem Benutzer angezeigt.
    • category: Die Kategorie, in die das Tag platziert werden soll. Wird nur intern zu Gruppierungszwecken verwendet und ist für den Benutzer nicht sichtbar. Verwenden Sie in category keine Leerzeichen, Nicht-ASCII-Zeichen oder nicht druckbare Zeichen.
    • item_name: Der lokalisierte Name der Kategorie. Wird dem Benutzer angezeigt.
    • color (optional): Eine RGB-Hex-Farbe zur Darstellung des Tag-Namens.
  • tradable (optional): Bei „true“ wird der Gegenstand auf der Benutzeroberfläche des Handelssystems angezeigt. (Standardeinstellung: „false“)
  • marketable (optional): Bei „true“ kann der Gegenstand im Steam Communitymarkt verkauft werden. (Standardeinstellung: „false“).

    HINWEIS: Einträge im Communitymarkt können derzeit nicht getestet werden. Im Communitymarkt aufgeführte Gegenstände sind auch bei privatem Wirtschaftssystem im Spiel sofort sichtbar.
  • market_name (erforderlich, wenn marktfähig): Bei marktfähigen Gegenständen ist dies der Name, unter dem Gegenstände gruppiert werden und der im Communitymarkt angezeigt wird. Er sollte nach Möglichkeit in die regionale Sprache übersetzt sein.
  • market_hash_name (erforderlich, wenn marktfähig): Dies muss immer der englische Wert von market_name sein. Dieser wird verwendet, um die unterschiedlichen Versionen abzugleichen und die Preisentwicklung und andere Informationen anzuzeigen.
  • market_fee (optional): Bei marktfähigen Gegenständen ist dies der Anteil des Transaktionsbetrags (Standardwert: 10 %), der als Gebühr im Spiel einbehalten wird. Diese Gebühr wird zum Zeitpunkt der Transaktion vom Käufer des Gegenstands bezahlt und an den Publisher als Teil seiner monatlichen Zahlung überwiesen. Wird als Dezimalzahl zwischen 0 und 0,95 angegeben, auch wenn Gebühren in dieser Höhe nicht empfehlenswert sind. (Standardwert: 0,10)
  • commodity (optional): Gibt an, dass es sich bei jedem Gegenstand mit demselben market_hash_name um genau denselben Gegenstand handelt. Es darf, zumindest aus der Benutzerperspektive, keine Unterschiede geben. Dies ändert die Communitymarkt-UI für diese Art von Gegenstand und erlaubt Benutzern, Kaufbestellungen aufzugeben. Der Benutzer hat keine Kontrolle darüber, bei wem er kauft oder genau welchen gelisteten Gegenstand er kauft. Aus diesem Grund müssen alle Gegenstände mit demselben market_hash_name identisch sein, wenn commodity „true“ ist. (Standardeinstellung: „false“)
  • market_tradable_restriction (optional): Die Anzahl der Tage, die ein Gegenstand nach dem Kauf nicht erneut gehandelt werden darf. Mit derartigen Handelseinschränkungen für neu gekaufte Gegenstände reduzieren Sie beispielsweise das Risiko von Kreditkartenbetrug. Valve-Spiele verwenden dafür den Wert 7. (Standardwert: 0)
    HINWEIS: Dieser Wert hat keine direkte Auswirkung. Steam kümmert sich nicht an Ihrer Stelle um die Durchsetzung der betreffenden Einschränkung. Der alleinige Zweck dieses Felds ist es, die Benutzer über eine vorhandene Handelseinschränkung zu informieren. Nach dem Kauf eines Gegenstands muss Ihr Asset-Server dafür sorgen, dass der neue Gegenstand tatsächlich mit der betreffenden Handelseinschränkung belegt wird. Der Asset-Server setzt dies um, indem er TradeSetOwned/v0001 mit den folgenden Einstellungen aufruft: is_market auf 1 und audit_action auf 101.
  • market_marketable_restriction (optional): Genau wie market_tradable_restriction, nur dass hier die Anzahl der Tage angegeben wird, die der Gegenstand nach dem Kauf nicht marktfähig ist. Valve-Spiele verwenden dafür den Wert 7. (Standardwert: 0)
    HINWEIS: Dieser Wert hat keine direkte Auswirkung. Steam kümmert sich nicht an Ihrer Stelle um die Durchsetzung der betreffenden Einschränkung. Der alleinige Zweck dieses Felds ist es, die Benutzer über eine vorhandene Handelseinschränkung zu informieren. Nach dem Kauf eines Gegenstands muss Ihr Asset-Server dafür sorgen, dass der neue Gegenstand tatsächlich mit der betreffenden Marktbeschränkung belegt wird. Der Asset-Server setzt dies um, indem er TradeSetOwned/v0001 mit den folgenden Einstellungen aufruft: is_market auf 1 und audit_action auf 101.
  • actions : Ein Array von Aktionen (Links), üblicherweise zur Anzeige von zusätzlichen Informationen zu einem Element. Diese werden unterhalb der Beschreibung auf der Inventarseite als Schaltflächen angezeigt. Die Links werden im Standardbrowser des Benutzers geöffnet.
    • link: Die beim Klicken auf die Schaltfläche geöffnete URL. Die Token %assetid%, %contextid% und %appid% werden durch die jeweils zutreffende Element-ID, Kontext-ID und Eigentümer-App-ID ersetzt.
    • name: Die auf der Schaltfläche angezeigte Bezeichnung.
  • owner_descriptions: Ein Array von Beschreibungen, die nur dem Eigentümer des Elements angezeigt werden. Die Inhalte dieses Arrays entsprechen genau denen in descriptions. Der einzige Unterschied zwischen den beiden Listen besteht darin, wer die Beschreibungen sehen kann.
  • owner_actions: Ein Array von Aktionen, die nur dem Eigentümer des Elements angezeigt werden. Das Format sollte dasselbe sein wie in actions. Das sind Spezialaktionen, die nur dem Elementeigentümer zur Verfügung stehen, beispielsweise die Aktivierung und Bearbeitung des Elements.
  • fraudwarnings: Ein Array von Strings mit Betrugswarnungen, die angezeigt werden, wenn der Gegenstand einem Handel hinzugefügt wird.
    Die Warnungen werden in diesem Fall rot dargestellt.
  • name: Die erste Reihe der Gegenstandsanzeige.
  • name_color: Eine RGB-Hex-Farbe zur Darstellung des Namens. Diese sollte dem Farbschema entsprechen, das Sie im Spiel für die farbliche Kodierung von Elementnamen nach Seltenheit oder Qualität verwenden.
  • type: Die zweite Reihe der Gegenstandsanzeige.
  • contained_item (optional): Dieser Knoten sollte den gesamten Elementblock eines in diesem Element enthaltenen Gegenstands umfassen. Source-Spiele verwenden dies für verpackte Geschenke, aber das muss bei Ihrem Spiel nicht der Fall sein.
  • cache_expiration (optional): Zeitpunkt, zu dem der Antwort-Cache ablaufen soll, im UTC-Format RFC 3339. Verwenden Sie dies nur, wenn Teile der Antwort für GetAssetClassInfo zu einem späteren Zeitpunkt noch geändert werden, selbst wenn sich der Satz von Elementklasseneigenschaften nicht geändert hat. Das ist beispielsweise dann hilfreich, wenn der Gegenstand zu einem späteren Zeitpunkt handelbar werden soll. Wir empfehlen, die Zeitangaben in den Elementklasseneigenschaften (und daher auch in diesem Feld) auf den nächsten Tag oder die nächste Stunde aufzurunden, damit Steam die Elementbeschreibungen besser zwischenspeichern kann.
  • item_expiration (optional): Zeitpunkt, zu dem der Gegenstand nicht mehr verwendet werden kann, im UTC-Format RFC 3339. Nach diesem Zeitpunkt kann der Gegenstand nicht mehr über Einträge gekauft werden. Diese werden automatisch storniert.

    Beispielausgabe

    { "result": { "asset": { "descriptions": [ { "name": "attribute", "value": "+50% fire damage resistance on wearer", "color": "99ccff" }, { "name": "attribute", "value": "+40% explosive damage resistance on wearer", "color": "99ccff" }, { "name": "attribute", "value": "Alt-Fire: Gain increased attack power by\ncharging toward your enemies." } ] , "fraudwarnings": [ "This item has been renamed.\nOriginal name: \"Chargin' Targe\"" ] , "tradable": true, "background_color": "3C352E", "icon_url": "http://media.steampowered.com/apps/440/icons/c_targe_large.b7d8c75ecfc9b04cc49d2c61ddc77996d7ec2f3a.png", "name": "''Awesome Targe''", "type": "Level 10 Shield", "name_color": "7D6D00", "actions": [ { "name": "Item Wiki Page...", "link": "http://wiki.teamfortress.com/scripts/itemredirect.php?id=131&lang=en_US" } ] }, "success": true } }

    economy_asset_tooltip.png

    economy_asset_icon.png