> ## 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.

# オプション サービス

> オプションの XBOX および PlayFab サービス — XUser サインイン、実績、XGameSave、ソーシャル、マルチプレイヤー、XStore コマース — を PC GDK タイトルに追加します。

PC GDK タイトルが動作するようになったら、設計の要件に応じてオプションの XBOX services および Microsoft Azure PlayFab 機能を追加してください。Microsoft Store に公開するためにこれらのいずれも必須ではありません — タイトルに合うものを選んでください。

## 推奨する採用順

1. **サインインとアイデンティティ** — [XUser](/build/core-features/common/user/gamecore-user-models) および [PlayFab サインイン](/services/playfab/identity/player-identity/login)。
2. **実績と統計** — [XSAPI Achievements](/services/xbox-services/player-data/achievements/index) および [Player stats](#player-stats)。
3. **クラウド セーブ** — [XGameSave](/build/core-features/common/game-save/game-saves-overview)。
4. **ソーシャル** — [フレンドと最近のプレイヤー](/services/xbox-services/community/social-manager/live-social-manager-overview) および [Rich presence](#rich-presence)。
5. **マルチプレイヤー** — [Lobbies](#lobbies)、[Matchmaking](#matchmaking)、[Multiplayer](#multiplayer)、[Invites](#invites)、[Chat](#chat)。
6. **コマース** — [XStore](/publishing/xstore-commerce/xstore-overview)、[In-game purchases](#in-game-purchases)、[DLC](/publishing/game-publishing/concepts/add-ons)。
7. **サーバー サイドの統合** — [S2S authentication](#s2s-authentication)、[User-generated content](#user-generated-content)、[Live ops](/services/playfab/live-service-management)。

## オプション サービスのトピック

以下の各行は、元の PC E2E ガイドで扱われているトピックにマップしています。詳細な統合ガイダンスはリンク先の機能ドキュメントにあります。

| トピック                                              | 推奨 SDK                           | 場所                                                                                             |
| ------------------------------------------------- | -------------------------------- | ---------------------------------------------------------------------------------------------- |
| [Chat](#chat)                                     | PlayFab Party                    | [PlayFab Party チャット](/services/playfab/multiplayer/networking)                                 |
| [In-game purchases](#in-game-purchases)           | XStore (GDK)                     | [XStore 詳細](/publishing/xstore-commerce/xstore-overview)                                       |
| [Invites](#invites)                               | PlayFab Lobby + XBOX invites     | [PlayFab Lobby](/services/playfab/multiplayer/lobby)                                           |
| [Leaderboards](#leaderboards)                     | XSAPI タイトル管理リーダーボード              | [Leaderboards](/services/xbox-services/player-data/stats-leaderboards/index)                   |
| [Lobbies](#lobbies)                               | PlayFab Lobby                    | [PlayFab Lobby](/services/playfab/multiplayer/lobby)                                           |
| [Matchmaking](#matchmaking)                       | PlayFab Matchmaking / SmartMatch | [PlayFab Matchmaking](/services/playfab/multiplayer/lobby)                                     |
| [Multiplayer](#multiplayer)                       | MPSD + MPM、PlayFab Multiplayer   | [Multiplayer](/services/xbox-services/multiplayer/index)                                       |
| [Networking](#networking)                         | PlayFab Party ネットワーキング           | [PlayFab ネットワーキング](/services/playfab/multiplayer/networking)                                   |
| [Player stats](#player-stats)                     | XSAPI Stats Manager              | [Stats](/services/xbox-services/player-data/stats-leaderboards/index)                          |
| [Rich presence](#rich-presence)                   | XSAPI Presence                   | [Rich presence](/services/xbox-services/community/presence/live-presence-overview)             |
| [S2S authentication](#s2s-authentication)         | Entra ID + User Store ID         | [Service-to-service auth](https://learn.microsoft.com/en-us/store/commerce/service-to-service) |
| [User-generated content](#user-generated-content) | PlayFab Economy v2               | [PlayFab UGC](/services/playfab/economy-monetization/index)                                    |

## チャット

PC と XBOX 上の同期音声およびテキスト チャットには **PlayFab Party** を使用してください。主な手順：

1. [PlayFab Party SDK](/services/playfab/multiplayer/networking) をセットアップします。
2. XBOX services と PlayFab の両方でプレイヤーを認証します。
3. `PartyManager::CreateNewNetwork()` で Party ネットワークを作成または参加します。
4. ローカル ユーザーごとに `PartyLocalChatControl` を作成し、`PartyNetwork::ConnectChatControl()` で接続します。
5. `PartyLocalChatControl::SetAudioInput/Output` と `PartyAudioDeviceSelectionType` を介してオーディオ入出力デバイスを選択します。
6. チャット コントロール ペア間でチャット権限とミュート状態を構成します。
7. `SendText` でテキスト チャットを追加します。オプションで `SetTextChatOptions` で翻訳を有効にできます。
8. アクセシビリティを追加します — Azure Speech Services 経由の音声認識テキスト起こしとテキスト読み上げ音声合成。
9. キャプチャしたマイク オーディオでオーディオ ノイズ抑制を有効化します。

XBOX でも出荷する場合は、[Party XBOX Live Helper Library](/services/playfab/multiplayer/networking) を使用して XBOX service の要件を満たしてください。

## ゲーム内購入

Microsoft Store のゲーム内購入フローには **XStore**（`XGameRuntime.h` 経由）を使用してください。

* ストア カタログ、関連製品（アドオン、消費財、耐久財）、ユーザーのエンタイトルメント コレクションを照会します。
* `XStoreShowPurchaseUIAsync` で購入 UI を表示します。
* `XStoreReportConsumableFulfillmentAsync` で消費財を消費します。
* エンタイトルメント変更後、`XStoreQueryProductForCurrentSkuAsync` でライセンスを更新します。

PlayFab 主導の仮想エコノミー（通貨、インベントリ、バンドル）向けに、XStore の購入と PlayFab Economy v2 を組み合わせてください。

## 招待

PC/XBOX 間の招待と参加には **PlayFab Lobby** を使用してください。

1. [PlayFab Lobby & Matchmaking SDK](/services/playfab/multiplayer/lobby) を統合します。
2. XBOX services および PlayFab で認証します。
3. ロビーの所有権を選択します: プレイヤー所有 (`PFMultiplayerCreateAndJoinLobby`)、サーバー所有 (`PFMultiplayerCreateAndClaimServerLobby`)、またはマッチメイキング作成。
4. `PFMultiplayerStartListeningForLobbyInvites` で招待をリッスンします。
5. プラットフォームの招待 UI を通じて招待を送信し、対象がネイティブの XBOX/Store 通知を受け取れるようにします。

ロビーは、招待を承諾したプレイヤーが参加するゲーム セッションを兼ねます。

## リーダーボード

XBOX services 上のソーシャルおよびグローバル リーダーボードには **XSAPI タイトル管理リーダーボード** を使用してください。

1. Partner Center の **XBOX services → Player data** でリーダーボードを定義します。
2. Stats Manager を使用してリーダーボードに紐づいた stat イベントを送信します。
3. `XblLeaderboardGetLeaderboardAsync`（グローバル）または `XblLeaderboardGetLeaderboardForSocialGroupAsync`（フレンド）でリーダーボードを照会します。

[Leaderboards](/services/xbox-services/player-data/stats-leaderboards/index) を参照してください。

## ロビー

共有セッション状態（メンバー リスト、任意のプロパティ、所有権）には **PlayFab Lobby** を使用してください。

* PlayFab Multiplayer C SDK でロビーを作成、参加、検索、離脱します。
* ゲームプレイのメタデータをロビー プロパティとして保存します（ゲーム モード、マップ、レディ状態）。
* PlayFab Matchmaking と組み合わせて、マッチしたグループからロビーを形成します。
* PlayFab Party と組み合わせて、ロビー メンバーシップの上にネットワーキングと音声を追加します。

## マッチメイキング

共有ロビーを生成するスキル / 属性ベースのマッチメイキングには **PlayFab Matchmaking** を使用してください。

* PlayFab Game Manager でプレイヤー属性のルールを持つマッチメイキング キューを定義します。
* `PFMatchmakingCreateMatchmakingTicket` でチケットを送信します。
* マッチが見つかると、プレイヤーはあなたが所有する共有ロビーに配置されます。

XBOX Live 専用のタイトル向けには、MPSD 経由の SmartMatch もサポートされていますが、新しいタイトルには PlayFab Matchmaking が推奨パスです。

## マルチプレイヤー

PC/XBOX でサポートされる 2 つのマルチプレイヤー スタック：

* **PlayFab Multiplayer** — クロスプラットフォーム、セッションに PlayFab Lobby、トランスポートに PlayFab Party を使用します。新しいタイトルに推奨。
* **XBOX services マルチプレイヤー** — MPSD セッション + Multiplayer Manager (MPM)。XBOX 専用タイトルで引き続きサポート。

両方のパスは [マルチプレイヤー概要](/services/xbox-services/multiplayer/index) で説明されています。

## ネットワーキング

リアルタイム ゲームプレイ トラフィックのネットワーク トランスポートには **PlayFab Party** を使用してください。

* 接続されたエンドポイント間で信頼性のある / 信頼性のないメッセージを送信します。
* 音声、テキスト、ゲームプレイ データを同じ Party ネットワーク上にレイヤーします。
* XBOX では、Party は自動的にプラットフォームのネットワーク パスと統合されます。PC ではフォールバック付き UDP を使用します。

## プレイヤー統計

タイトル管理のプレイヤー統計には **XSAPI Stats Manager** を使用してください。

1. Partner Center の **XBOX services → Player data** で統計を定義します。
2. `XblStatsManagerSetStatAsNumber` / `SetStatAsString` でプレイヤーに統計を追加します。
3. ゲームプレイに応じて統計をインクリメントまたは上書きします。
4. 毎フレーム `XblStatsManagerDoWork` で保留中の更新をフラッシュします。

統計はリーダーボードを支え、プレイヤーのプロファイルに表示されます。

## Rich presence

プレイヤーが何をしているかを配信するには **XSAPI Presence** を使用してください。

1. Partner Center で presence 列挙型と文字列セットを定義します。
2. プレイヤーが新しい状態（メニュー、レベル、マッチ）に遷移するときに `XblPresenceSetPresenceAsync` で presence を更新します。
3. `XblPresenceGetPresenceAsync` または `XblPresenceGetPresenceForMultipleUsersAsync` で他のプレイヤーを照会します。

[Rich presence](/services/xbox-services/community/presence/live-presence-overview) を参照してください。

## S2S 認証

バックエンドがプレイヤーに代わって Microsoft Store API を呼び出す必要がある場合のサービス間認証には、**Microsoft Entra ID + User Store ID** を使用してください。

* 2 種類の User Store ID:
  * `UserCollectionsID` — Microsoft Store **Collections** サービス（エンタイトルメント インベントリ）で認証します。
  * `UserPurchaseID` — Microsoft Store **Purchase** サービス（トランザクション検証）で認証します。
* サービスは Entra ID アクセス トークンを取得し、ゲーム クライアントからの User Store ID とともに、Store REST API を呼び出します。
* 新しいタイトルには推奨。X-token ベースの認証はレガシーです。

## ユーザー生成コンテンツ

ファースト パーティまたはサード パーティのアセット パイプライン上の UGC カタログには **PlayFab Economy v2** を使用してください。

1. PlayFab でプレイヤーを認証します。
2. `CreateUploadUrls` で署名済みアップロード URL を生成します。
3. `CreateDraftItem`（`Type:ugc`）でドラフト アイテムを作成します。
4. `GetEntityDraftItems` でドラフト アイテムを列挙します。
5. `PublishDraftItem` で公開します — 公開されたアイテムはパブリック カタログに表示されます。
6. `GetItemPublishStatus` でステータスを確認します。
7. `SearchItems`（OData `Filter`、`OrderBy`、`Select`）でカタログを照会します。

オプションのレビュー / モデレーションは、PlayFab Game Manager の Catalog Reviewer によって処理されます。

## 関連情報

* [PC エンド ツー エンド概要](/build/gdk-and-engines/overview)
* [XBOX services 概要](/services/xbox-services/index)
* [PlayFab 概要](/services/playfab/get-started)

## 関連 API ドキュメント

* [XSAPI 概要](/reference/live/xsapi-c/atoc-xsapi-c) — アイデンティティ、presence、ソーシャル、実績、リーダーボード
* [XStore API リファレンス](/reference/system/xstore/xstore_members) — Microsoft Store コマース
* [PlayFab 概要](/services/playfab/get-started/index) — PlayFab REST + SDK サーフェス


## Related topics

- [プレリリース テスト オプション](/ja-jp/publishing/game-publishing/publishing-processes/managed-creators/publishing-processes-prerelease.md)
- [XBOX サービス タイトル向け PlayFab インテグレーション](/ja-jp/services/xbox-services/playfab-integration.md)
- [サービスからサブスクリプション製品を管理する](/ja-jp/publishing/xstore-commerce/xstore-managing-subscriptions.md)
- [認定のオプション提出](/ja-jp/publishing/game-publishing/concepts/certification/certification-optional-submissions.md)
- [サービス間 (S2S) でのマルチプレイヤー セッション管理](/ja-jp/services/xbox-services/fundamentals/s2s-auth-calls/s2s-calls/s2s-call-patterns/live-mpsd-service-to-service.md)
