> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 不正防止のクイックスタート

> Microsoft Store、iOS、Google Play、その他のプラットフォーム向けに PlayFab Economy v2 でレシート検証と不正防止を有効にするためのクイックスタート ガイド。

<Info>
  Economy v2 が一般提供 (GA) されました。サポートとフィードバックについては、[PlayFab フォーラム](https://community.playfab.com) を参照してください。
</Info>

このクイックスタートでは、Microsoft Store ([Windows 10/11](https://learn.microsoft.com/en-us/windows/uwp/publish/)、[XBOX](https://learn.microsoft.com/en-us/gaming/xbox/)、[Android](https://blogs.windows.com/windows-insider/2021/10/20/announcing-android-apps-on-windows-11-preview-for-windows-insiders-in-the-beta-channel/)) でのレシート検証の実行方法を説明します。

## 前提条件

[PlayFab Economy v2 のクイックスタート](/services/playfab/economy-monetization/economy-v2/quickstart) では、レシート検証を実行するためのセットアップと準備が完了します。

## Microsoft Store マーケットプレイスのレシート検証

* [GetMicrosoftStoreAccessTokens](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/get-microsoft-store-access-tokens)
* [RedeemMicrosoftStoreInventoryItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/inventory/redeem-microsoft-store-inventory-items)

Redeem API を使用するには、まず使用するマーケットプレイス (Apple Store、Steam、Google Play など) で製品 ID と価格を設定します。最初、すべての製品は無記名です。プレイヤーが購入できるデジタル エントリですが、PlayFab では意味を持ちません。

これらのエントリに意味を与えるには、PlayFab カタログでミラーリングする必要があります。ミラーリングにより、無記名のエンティティがカタログ バンドルに変わります。新しいサービスで `RedeemMicrosoftStoreInventoryItems` を呼び出すと、Entity Player の仮想インベントリに付与する一致するバンドルをカタログで探します。

各バンドルは、AlternateId を追加することで 1 つ以上のパートナー マーケットプレイス製品にリンクできます。AlternateId は、PlayFab と任意の外部 IAP マーケット間のリンクです。タイトルが特定のプレイヤー エンティティに対して Redeem を呼び出すと、この ID を IAP マーケットに渡して確認します。一般的なフローは次のとおりです。

1. Microsoft Store で 1 つ (または複数) の実世界オファーを作成します
2. IAP マーケット呼び出しの権限で PlayFab のアドオンを設定し、作成したオファーにリンクする対応するバンドルを PlayFab で作成します
3. `RedeemMicrosoftStoreInventoryItems` を呼び出します

<Note>
  PlayFab の以前のバージョンとは異なり、新しいシステムでは 1 つのバンドル オファーを作成し、参照する必要のある各マーケット SKU を AlternateId リストに追加するだけです。IAP マーケットごとに新しいアイテムを作成する必要はありません。
</Note>

### ステップ 1 - マーケットプレイス統合のセットアップ

GameManager の Add-ons セクションで各 IAP マーケットの統合をセットアップし、PlayFab がタイトルの代わりにマーケットを呼び出せるようにする必要があります。

### ステップ 2 - レシート検証用のバンドルの作成

GameManager 内で、または `CreateDraftItem` を呼び出して [バンドルを作成](/services/playfab/economy-monetization/economy-v2/catalog/bundles) できます。バンドルには最低限、Title、Description、Items が必要です。GameManager では、Marketplace Mapping セクションを使用してマーケットプレイス エントリをリンクできます。

API を使用してバンドルを構築する場合、バンドルの alternateIds セクションに IAP マーケットプレイス マッピングを追加する必要があります。Marketplace の列挙値は具体的で大文字と小文字が区別されます。次のいずれかのアドオンを使用する必要があります。

* Apple = "AppleAppStore"
* Google Play = "GooglePlay"
* Nintendo = "NintendoEShop"
* Microsoft = "MicrosoftStore"
* PlayStation = "PlayStationStore"
* Steam = "Steam"

### ステップ 3 - ゲームから Redeem を呼び出す

ゲームは、エンティティとレシートの詳細を指定して `RedeemMicrosoftStoreInventoryItems` API を呼び出し、実世界のオファーを '引き換え' て対応するエンティティのインベントリを構成します。呼び出しを正常に動作させるには、いくつかの項目を指定する必要があります。

* リクエストのヘッダーで必須
  * X-EntityToken - PlayFab エンティティを一意に識別するトークン
  * Content-Type - Application/Json
* リクエストの本文で必須
  * `CollectionsIdKey`

各 IAP マーケットには、これらの呼び出しを行うための要件が少しずつ異なります。たとえば、Apple や GooglePlay の購入では、マーケットプレイスのレシートを添付する必要があります。

ゲーム クライアントの起動時には、まずマーケットプレイスの PlayFab Redeem 呼び出しを開始します。Redeem 呼び出しにより、PlayFab はオフラインまたはゲームの範囲外で発生した可能性のある任意の購入と同期できます。マーケットプレイス オファーのゲーム内購入が発生するたびに、ゲームはこれらの呼び出しを使用する必要があります。

Redeem エンドポイントが呼び出された後、Redeem はプレイヤー エンティティのインベントリ通貨が構成されることを保証します。

## パート 4: アイテムの購入

### Game Manager

個々のプレイヤー ビュー内でアイテムや通貨が存在することを確認できます。GameManager で Players を選択し、個々のプレイヤー エンティティに移動します。Inventory タブを使用して、そのエンティティ プレイヤーが所有しているものを表示および更新します。

### API

ゲーム内で、仮想通貨が付与されているプレイヤーとしてサインインします。

`SearchItems` を呼び出して、以前に公開されたカタログの itemId を使用します。

`PurchaseInventoryItems` を、カタログ アイテムの itemId と付与された仮想通貨 ID を使用して呼び出します。

最後に `GetInventoryItems` を呼び出し、そのメソッドの結果を表示します。

***

Microsoft プラットフォームでの収益化について詳しくは、[こちら](https://learn.microsoft.com/en-us/windows/uwp/monetize/) を参照してください。


## Related topics

- [Steam マーケットプレイスでの引き換え](/ja-jp/services/playfab/economy-monetization/economy-v2/marketplace/marketplace-redemption/steam.md)
- [Google マーケットプレイスでの引き換え](/ja-jp/services/playfab/economy-monetization/economy-v2/marketplace/marketplace-redemption/google.md)
- [Economy v2 の実際の通貨価格](/ja-jp/services/playfab/economy-monetization/economy-v2/catalog/real-money-prices.md)
- [Economy v2 での実際の通貨価格の追跡](/ja-jp/services/playfab/economy-monetization/economy-v2/tutorials/real-money-price-tracking.md)
- [Microsoft Store マーケットプレイスでの引き換え](/ja-jp/services/playfab/economy-monetization/economy-v2/marketplace/marketplace-redemption/microsoft.md)
