ストアとセール (Legacy Economy)
Economy v1 API はメンテナンス モードにあり、新機能は追加されず、バグ修正のみが行われます。v1 API は当面の間、維持されます。 PlayFab Economy の次のバージョンの詳細については、Economy v2 の概要 を参照してください。
要件
- PlayFab Game Manager に関する知識。
- 1 つ以上の 仮想通貨 が定義されている必要があります。このチュートリアルの後半の例では以下を使用します。
- SP (Silver Pieces)
- GP (Gold Pieces)
- 1 つ以上のアイテムが定義された プライマリ カタログ が必要です。
- 最初の例では、ドロップ テーブル チュートリアルで説明したものと同様の複数のアイテム/バンドルを使用します。
- 2 番目の例では、小、中、大のヒーリング ポーションを使用します。
ベスト プラクティス
カタログ価格は長期的に固定する必要があります - これはアイテムの 実際の 価格を定義します。 ストアは 一時的な ものにし、LiveOps 戦略に応じて追加や削除を行うべきです。ストアを循環させ、アクティブなストアにアイテムを入れたり出したりすることで、収益の大部分を得ることを期待してください。
ストアとカタログの価格設定に関する一般情報
- 価格設定: カタログで定義される価格は、アイテムの 通常 価格として定義する必要があります。ストアでは、一般的な小売戦術を活用して、アイテムの一時的なセール価格を定義できます。または、ストアでは、通常は販売されないアイテムに一時的な価格を提供することもできます。
- ゼロ コスト: 特定の通貨でのアイテムのコストが未設定 (null) または 0 の場合、カタログとストアの両方で、その通貨で購入することはできません。ゼロ コストを使用すると、他の通貨のエントリを空白のままにしたり、0 にリセットしたりすることで、無料通貨のみまたはプレミアム通貨のみでアイテムを利用可能にできます。
- リアル マネー: RM 通貨はすべてのカタログとストアで使用できます。RM は、リアル マネー トランザクションのみ を示す制限された通貨キーです。RM で課金するのは、大きな価値のあるアイテムや、プレミアム通貨を含むバンドル/コンテナーに限定してください。
- 価格はいずれか一方: アイテムに 2 つの価格が定義されている場合、そのアイテムはどちらか一方の価格で購入できます。単一のアイテムに 2 つの通貨を必須にする ことはできません。
リアル マネー ストアの定義
Game Manager で:- タイトル に移動します。
- 左側のメニューから Economy を選択します。
- Catalogs タブで、プライマリ カタログを選択し、Stores を選択します。
- New Store ボタンを選択します。
どのアイテムでもリアル マネーで販売できますが、特定の 価値のあるアイテムやバンドルだけを直接利用可能にすることがベスト プラクティスです。
リアル マネー ストアのベスト プラクティス
リアル マネーの使用方法は、ゲームの具体的な設計に大きく依存します。ゲーム内アイテムの直接購入は有効ですが、あまり一般的ではありません。 より一般的には、ゲームでリアル マネーを使用してプレミアム仮想通貨を購入できるようにします。プレミアム通貨とリアル マネーの比率が異なる複数のストアを循環させることができます。仮想通貨ストアの定義
仮想通貨でゲーム内アイテムを購入するための詳細とコードに入りましょう。 最初の手順は前の例とほぼ同じです。- 無料 通貨 の価格と プレミアム 通貨 の価格を持つ 3 つの新しいアイテム、Small、Medium、Large Health Potions を作成します。
- セールに出したアイテムを含む新しいストアを作成します。
1 回の購入で複数のアイテムを購入する
仮想通貨で単一のアイテムを購入するには、ストアのクイックスタート で説明されているように PurchaseItem メソッドを使用します。このチュートリアルでは、1 回の購入で複数のアイテムを購入する方法を説明します。 このプロセスの最初のステップは、ストアを取得してユーザーに表示することです。LogSuccess コールバックは、ストア内のすべてのアイテム、その ストア 価格、およびストア自体に含まれる任意のメタデータの完全な説明を含む GetStoreItemsResult を受け取ります。
ストア表示のベスト プラクティス
ストアを備えたゲームは、GetCatalogItems メソッドを使用してプライマリ カタログを呼び出しキャッシュする必要があります。カタログ価格とストア価格の両方を表示し、セール中のアイテムの横に「10% OFF」などの類似のボーナス装飾を表示できます。 この時点で、購入するアイテムと数量をユーザーに選択させる機会を提供するのは GUI コードの責任です。- ゲームと PlayFab の間で、残りのステップは複数の個別の API 呼び出しですが、複数呼び出しのシーケンスをプレイヤーには見えないようにできます。
- 事前に購入に関するすべての情報を収集し、すべての プレイヤー入力が収集された後に、フル シーケンスの呼び出しを行います。
上記のコード例の
StartPurchase API の result には、PaymentOptions のリストが含まれます。各支払いオプションには、購入に使用できる Currency、Price、ProviderName が含まれます。制限
1 回の購入では 1 つ の仮想通貨のみが許可されます。選択したすべてのアイテムは 1 つの通貨 で購入できる必要があります。 呼び出しでは通貨を指定する必要があり、これは複数の通貨が使える場合に重要です。要求内に、選択した通貨での対応するコストがないアイテムが含まれていると、シーケンスは失敗します。ProviderName も呼び出しで指定する必要があります。リアル マネー購入の場合、プロバイダー名は、Facebook、PayPal、Steam など、購入の資金調達に使用される主体です。VC 購入の場合、タイトル ID に基づく文字列になります。ProviderName は、前述の メモ で説明したように StartPurchaseResult の PaymentOptions フィールドから取得できます。
ストア アイテム表示のベスト プラクティス
ストア内のすべてのアイテムが一貫したオプションを持つようにすることで、プレイヤーの混乱を避けてください。 リアル マネー アイテムは、プレミアム VC アイテムとは別のストアに、さらに無料 VC アイテムとも別に配置する必要があります。単一のストアで複数の通貨を許可する場合は、そのストアの すべての アイテムが一貫して同じ複数通貨セットを使用する必要があります。スムーズな顧客体験を提供するために、必要な数だけストアを作成してください。API 失敗結果を処理するベスト プラクティス
どの単一の API 呼び出しも、さまざまな理由で失敗する可能性があります。電話などのワイヤレス デバイスでは接続が断続的になることがよくあり、インターネット呼び出しはランダムなレイテンシによって失敗することがあります。 各呼び出しでは、複数の失敗条件をチェックする必要があります。応答が要求が無効であることを示している場合 (たとえば、単一の通貨で複数のアイテムを購入できない場合)、中止する必要があります。ストア設計に問題がある可能性があります。 応答が接続の失敗を示している場合、指数バックオフ遅延を使用して再試行できます。まとめ
ストアは、プレイヤーにアイテムの購入を促す優れたメカニズムです。 ストアはあらゆる種類の仮想通貨で動作します。ストアは、代替の API メソッド セットを介してリアル マネーでも動作できます。- PurchaseItem 経由で、VC を使った単一アイテム購入を設定できます。
- 以下のシーケンスを介して、リアル マネーまたは VC でマルチ アイテム購入を設定できます。
