商店與促銷 (舊版 Economy)
Economy v1 API 處於維護模式,不會再推出任何新功能,只會進行錯誤修正。**在可預見的未來,v1 API 將持續維護。**請參閱 Economy v2 概觀,深入了解下一版的 PlayFab Economy!
需求
- 熟悉 PlayFab Game Manager。
- 您必須已定義一或多種虛擬貨幣。本教學課程中的後一個範例使用:
- SP (Silver Pieces)
- GP (Gold Pieces)。
- 您必須有一個已定義一或多個項目的_主要目錄_。
- 第一個範例使用多個項目/搭售組合,類似於掉落表教學課程中所述的項目。
- 本教學課程的第二個範例使用小型、中型和大型生命藥水。
最佳做法
目錄價格應長期固定,因為它們定義了項目的_真正_價格。 商店應該是_暫時性_的,依照您的 LiveOps 策略新增和移除。預期您大部分的營收會來自輪替商店,以及在作用中的商店之間移入和移出項目。
商店與目錄定價的一般資訊
- 定價:目錄中定義的價格應定義為項目的_一般_價格。商店可讓您為項目定義暫時性的促銷價格,運用常見的零售策略。或者,商店可以為通常完全不開放販售的項目提供暫時性價格。
- 零成本:如果項目在特定貨幣中的成本未設定 (null) 或為零,則無論在目錄或商店中都無法使用該貨幣購買。零成本可讓您將其他貨幣的項目保留空白或重設為零,使項目只能以免費貨幣購買,或只能以進階貨幣購買。
- 真實貨幣:RM 貨幣在所有目錄和商店中皆可使用。RM 是受限的貨幣索引鍵,表示_僅限真實貨幣交易_。您應該只對具有重大價值的項目,或含有進階貨幣的搭售組合/容器收取 RM。
- 價格為二擇一:如果項目上定義了兩種價格,則可以用其中一種購買該項目。_無法_要求以兩種貨幣購買單一項目。
定義真實貨幣商店
在您的 Game Manager 中:- 瀏覽至您的 Title。
- 從左側功能表選取 Economy。
- 在 Catalogs 索引標籤上,選取您的主要目錄,然後選取 Stores。
- 選取 New Store 按鈕。
任何項目都可以用真實貨幣販售,但最佳做法是只直接提供_特定_的高價值項目或搭售組合。

真實貨幣商店的最佳做法
您如何使用真實貨幣,很大程度取決於遊戲的具體設計。直接購買遊戲內項目是可行的,但較不常見。 更常見的是,您的遊戲應允許使用真實貨幣購買進階虛擬貨幣。您可以輪替多個具有不同進階貨幣與真實貨幣比例的商店。定義虛擬貨幣商店
讓我們深入了解以虛擬貨幣購買遊戲內項目的細節和程式碼。 初始步驟與前一個範例幾乎相同:- 建立三個新項目:Small、Medium 和 Large Health Potions,設定_免費_貨幣價格,以及_進階_貨幣價格。
- 建立一個包含促銷項目的新商店。

在單次購買中購買多個項目
若要以虛擬貨幣購買單一項目,請使用 PurchaseItem 方法,如我們的商店快速入門所述。本教學課程涵蓋在單次購買中購買多個項目。 此流程的第一個步驟應該是取得商店,並將其顯示給使用者。LogSuccess 回呼會收到 GetStoreItemsResult,其中包含商店中所有項目的完整描述、其_商店_價格,以及商店本身所包含的任何中繼資料。
顯示商店的最佳做法
具有商店的遊戲應使用 GetCatalogItems 方法呼叫並快取其主要目錄。您可以同時顯示目錄價格和商店價格,並在促銷項目旁加上「10% OFF」或類似的優惠標示。 此時,由您的 GUI 程式碼負責讓使用者有機會選取他們想要購買的項目及數量。- 在您的遊戲與 PlayFab 之間,其餘步驟是數個個別的 API 呼叫,但您可以讓這一連串的多個呼叫對玩家而言是不可見的。
- 預先收集購買的所有資訊,並在收集_所有_玩家輸入之後,再進行完整的呼叫序列。
上述程式碼範例中
StartPurchase API 的結果包含 PaymentOptions 清單。每個付款選項都包含可用來進行購買的 Currency、Price 和 ProviderName。限制
單次購買中只允許使用_一種_虛擬貨幣。所有選取的項目都必須能以_單一貨幣_購買。 呼叫中必須指定貨幣,這在有多種可能貨幣時尤其重要。如果要求中有項目沒有以所選貨幣計算的對應成本,則該序列會失敗。 呼叫中也必須指定ProviderName。對於真實貨幣購買,提供者名稱是用來支付購買款項的提供者,例如 Facebook、PayPal 或 Steam。對於 VC 購買,它會是以您的遊戲識別碼為基礎的字串。ProviderName 可以從 StartPurchaseResult 的 PaymentOptions 欄位取得,如前面的附註所述。
顯示商店項目的最佳做法
確保商店中的所有項目都有一致的選項,以避免讓玩家感到困惑。 真實貨幣項目應與進階 VC 項目放在不同的商店,也應與免費 VC 項目分開。如果單一商店允許多種貨幣,則該商店中的_所有_項目都應一致地使用同一組多種貨幣。請視需要建立足夠多的商店,以提供流暢的客戶體驗。處理 API 失敗結果的最佳做法
任何單一 API 呼叫都可能因許多原因而失敗。手機等無線裝置經常會有間歇性的連線問題,而任何網際網路呼叫都可能因隨機延遲而失敗。 每個呼叫都應檢查多種失敗狀況。如果回應顯示要求無效 (例如,無法以單一貨幣購買多個項目),您應該中止。您的商店設計可能有問題。 如果回應指出連線失敗,您可以使用指數輪詢延遲再試一次。結論
商店是鼓勵玩家購買項目的絕佳機制。 商店可搭配任何種類的虛擬貨幣使用。商店也可以透過另一組 API 方法搭配真實貨幣使用。- 您可以透過 PurchaseItem 設定以 VC 購買單一項目。
- 您可以透過下列序列設定以真實貨幣或 VC 購買多個項目:
