Steamworks 文獻庫
GetAssetClassInfo/v0001
將傳回向使用者顯示資產類別所需的詳細資料。 使用者物品庫中顯示的每項物資產都至少會呼叫此方法一次。 由於會大量儲存於快取中,因次呼叫的頻率會比每次瀏覽資產都呼叫一次來得低。 如果基於任何原因您需要將快取無效化,您可更改應用程式技術性詳細資料中「經濟」分頁之下的「資產類別版本」。

通常類別識別碼完全是由資產所屬的遊戲定義的。 唯一的例外的貨幣。 Steam 經濟體伺服可以將欲查詢的貨幣 ID 放入「currencyid」識別碼並呼叫 GetAssetClassInfo。 這種情況下,資產伺服器應傳回貨幣顯示的詳細資料,而非資產顯示的詳細資料。

呼叫方: 物品庫 UI

HTTP 方法: GET

參數:

名稱型別必要說明
keystring此為在夥伴網站上,您在您應用程式的 Steam 經濟設定中提供的「資產伺服器金鑰」。
appiduint32與資產關聯之應用程式的 32 位元 App ID。
class_countuint32指定的類別識別碼數量。
class_name#string識別碼的名稱。 0 到 class_count - 1 之間每個數字都會有一個這樣的參數 (如 class_name0、class_name1、class_name2)。
class_value#string識別碼的值。 0 到 class_count - 1 之間每個數字都會有一個這樣的參數 (如 class_value0、class_value1、class_value2)。
languagestring指定傳回字串使用的 ISO639-1 語言碼加上 ISO 3166-1 alpha 2 國家碼。 例如:en_US、de_DE、zh_CN,和 ko_KR。 預設:en_US。

傳回

此方法的輸出應以 JSON 格式編碼。

回應:
  • result
    • success - 若方法成功,則為 True。 如果資產伺服器傳回 False,則會將 error 設為說明其原因的字串。
    • error - 說明呼叫失敗原因的字串。 此訊息將儲存於錯誤紀錄中。錯誤紀錄位於 Steamworks 網站中的「經濟」分頁之下。
    • asset - 裝載指定資產類別識別碼的物件。

顯示詳細資訊:

  • background_color - 字串形式的 16 進位 RGB 顏色值。
  • icon_url - 用於此資產的圖示。 圖片應為 JPEG、GIF,或 PNG 格式。
    PNG 與 GIF 支援透明度,因此較推薦使用。 遊戲可透過此欄位提供單一大小的圖示,Steam 將視情況將其縮放為適合使用者介面的大小。 圖示大小應至少為 200 x 200 像素。 向顧客顯示時,Steam 將提供所有圖片的 CDN 分發,所以此網址的點擊數會相對較低。
  • icon_url_large(可選用)- 與說明關聯的大圖示。 和 icon_url 具相同的格式規定。
    大圖示大小應至少為 330 x 192 像素。 如果沒有提供 icon_url_large,則會改為使用 icon_url
    向顧客顯示時,Steam 將提供所有圖片 CDN 分發,所以此網址的點擊數會相對較低。
  • descriptions - 一組資產說明文字的陣列。 這些資訊在物品提示和詳細說明中將以在陣列中的順序顯示。

    • type (可選用) - type 欄位控制 value 欄位的呈現方式。
      可為以下其中一種值:
      • text - 此值將被解譯為翻譯成特定語言的純文字資料。 某些字符(大於、小於等等)將被轉換成 HTML 實體,因而不會被解譯為標籤。 所有換行字元都會被轉換為 <br>
        使用者提供的資料應使用此型別。 若沒有指定型別,預設為 text
      • html - 此值將被以 HTML 的形式納入頁面中,而標籤則維持不變。
    • image - 此值為用於說明中的圖片網址。 Steam 會於圖片上方放上 CDN,所以網址的點擊數會相對較低。
    • value - 這段說明經翻譯後的字串。
    • color(可選用)- 用於此值的 16 進位 RGB 顏色。 使用任何這段資訊在遊戲內使用者介面中的顏色。 此欄位僅適用於 text 類型的值。
    • label(可選用)- 若使用此欄位,說明值前將加上此標籤。
  • tags (可選用)- 用於資產上的一組標籤陣列。 這些標籤在使用者面前會顯示為篩選選項,用於使用者介面多處,包括社群市集和使用者的物品庫。
    • internal_name - 用於辨識此標籤的名稱。 內部名稱不會向使用者顯示。 internal_name切勿使用空格以及非 ASCII 或無法顯示(Non-Printable)的字元。
    • name - 此標籤的在地化名稱。 會向使用者顯示。
    • category - 此標籤所屬的分類。 僅限用於內部分類,不會向使用者顯示。 category切勿使用空格以及非 ASCII 或無法顯示(Non-Printable)的字元。
    • category_name - 分類的在地化名稱。 會向使用者顯示。
    • color(可選用)- 顯示標籤名稱時使用的 16 進位 RGB 顏色。
  • tradable(可選用)- 若為 True,物品將出現於交易介面中 (預設:False)。
  • tradable(可選用)- 若為 True,物品將可以放上 Steam 社群市集販售 (預設:False)。

    備註:社群市集上架目前無法測試。 就算將遊戲的經濟體設為隱藏,在社群市集上架物品會立即暴露該物品。
  • market_name(可販售則必要)- 如果物品可以販售,此為顯示於社群市集中、用來分類物品的分類名稱。 視情況應將其在地化。
  • market_hash_name(可販售則必要)- 永遠應為 market_name 的英文值。 用來關聯各個版本,以顯示價格紀錄和其他資訊。
  • market_fee(可選用)- 如果物品可以販售,此為遊戲收取的交易費用(預設 10%)。 此費用會在交易時由物品的購買人支付,成為發行商每月收益的一部分。 以 0 到 0.95 之間的小數計算(不過我們建議收取合理範圍的費用) (預設:0.10)。
  • commodity(可選用)- 顯示每一個有著相同 market_hash_name,因此完全一樣的物品。 此類物品對使用者而言應沒有任何區別。 這會改變此物品在社群市集使用者介面中的呈現方式,讓使用者可以下訂購單。 使用者無法選擇賣家或市集上架物品,因此當 commodity 為 True 時,確保帶有同樣的 market_hash_name 的所有物品完全相同十分重要 (預設:False)。
  • market_tradable_restriction(可選用)- 購買後無法交易的天數。 您可考慮於購買的物品上施加交易限制,以降低使用者以信用卡詐騙的可能。 Valve 遊戲使用的數值為 7 (預設:0)。
    備註:此值不具權威性。 Steam 不會為您強制實施此限制。 此欄位的值只會用來告知使用者限制的存在。 物品經過購買後,必須由資產伺服器在新物品上實施交易限制。 當 is_market 被設為 1,而 audit_action 被設為 101 時,資產伺服器可呼叫 TradeSetOwned/v0001 來進行這項動作。
  • market_marketable_restriction(可選用)- 和 market_tradable_restriction 一樣,但為物品購買後無法販售的天數。 Valve 遊戲使用的數值為 7 (預設:0)。
    備註:此值不具權威性。 Steam 不會為您強制實施此限制。 此欄位的值只會用來告知使用者限制的存在。 物品經過購買後,必須由資產伺服器在新物品上實施販售限制。 當 is_market 被設為 1,而 audit_action 被設為 101 時,資產伺服器可呼叫 TradeSetOwned/v0001 來進行這項動作。
  • actions - 一組動作(連結)陣列,通常用來顯示資產更多的資訊。 此值在物品庫頁面中將顯示為物品說明之下的按鈕。 連結將於使用者的預設瀏覽器中開啟。
    • link - 點擊按鈕時導向的網址。 %assetid%、%contextid%,和 %appid% 等代碼將依序替換為資產 ID、脈絡 ID、所屬 App ID。
    • name - 顯示於按鈕上的標籤。
  • owner_descriptions - 只會向資產擁有者顯示的一組說明陣列。 此陣列的內容與 descriptions 的完全相同。 兩個列表之間的差異只在於誰能看到內含的說明。
  • owner_actions - 只會向資產擁有者顯示的一組動作陣列。 格式應與 actions 相同。 此為僅限資產擁有者可進行的特殊動作,如啟用或修改該資產。
  • fraudwarnings - 將物品加入交易時警惕詐騙的一組字串陣列。
    物品加入交易時,會以紅色顯示。
  • name - 顯示物品時的第一行。
  • name_color - 名稱使用的 16 進位 RGB 色彩。 應與遊戲中代表不同稀有度或品質的顏色符合。
  • type - 顯示物品時的第二行。
  • contained_item(可選用)- 此節點應包含資產內含物品的完整資產區塊。 Source 遊戲會利用此值來包裝禮物,但您的遊戲可能不適用。
  • cache_expiration(可選用)- Steam 的快取應被無效化的時間,以 RFC 3339 UTC 格式時間表示。 僅在 GetAssetClassInfo 任何部分往後會改變時使用,無論資產類別屬性是否改變。 如果物品往後變為可以交易,便適用此情況。 我們建議將資產類別屬性(所以此欄位也包括在內)四捨五入為完整的天數或小時數,提升 Steam 維護資產說明快取的功能。
  • item_expiration (可選用)- 物品被停用的時間,以 RFC 3339 UTC 格式時間表示。 過了指定時間後,任何上架物品皆無法購賣,並會被自動取消。

    輸出範例

    { "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