メインコンテンツへスキップ
このクイックスタートでは、PlayFab Party のコア機能をコード スニペットと共に説明します。PlayFab Party は、最初からクロスプラットフォームであるように設計されています。これらのクイックスタートも同様に構造化されており、ほとんどの情報はすべてのプラットフォームに適用され、プラットフォーム固有の前提条件と手順はリンクされたドキュメントに記載されています。 より深く理解するには、リンクされたリファレンスおよび概念ドキュメント、およびプラットフォームごとのサンプル アプリケーションを参照してください。
このクイックスタート ガイドでは、C++ Party SDK の使用について説明します。* Unity ユーザーの場合は、Unity のクイックスタート を参照してください。* Unreal Engine 用の PlayFab Online Subsystem を使用したい Unreal Engine ユーザーの場合は、Unreal のクイックスタート を参照してください。

前提条件

PlayFab アカウントが必要で、Party の使用を開始するには Party 機能を有効にする必要があります。
  1. PlayFab アカウント を作成またはサインインします。手順については、クイックスタート: Game Manager を参照してください。
  2. PlayFab アカウントから Game Manager 経由で Party 機能を有効にする を実行します。

プラットフォームの前提条件

このクイックスタートを開始する前に、次のトピックで指定されているプラットフォーム固有のセットアップを実行してください:
  1. Android の前提条件
  2. iOS および macOS の前提条件
  1. Linux の前提条件
プラットフォーム固有の手順を完了したら、このトピックの残りの手順に進んで PlayFab Party をセットアップします。

Party SDK のダウンロードとセットアップ

Party SDK は、さまざまなプラットフォームとゲーム エンジン用に用意されています。必要なものを選択してダウンロードしてください。ダウンロード リンクについては、Party SDK を参照してください。 SDK をインストールした後、コードの記述を開始する前に、Party がどのように動作するかを確認するためにサンプルを実行することができます。サンプルをダウンロードするには、Party サンプル にアクセスしてください。 XBOX および PC タイトルで Party を使用している場合は、一貫した機能と動作を保証するために Party XBOX Live Helper ライブラリ の使用を推奨します。このライブラリは、タイトルが XBOX Live 要件を満たすのに役立ちます。詳細については、XBOX 要件 を参照してください。

PlayFab タイトルにログインしてエンティティ トークンとエンティティ ID を取得する

Party を初期化して使用するには、PlayFab にログインする必要があります。PlayFabClientAPI::LoginWithCustomID またはプラットフォーム固有のログイン方法を使用できます。 ログインを実行すると、PlayFab は LoginResult の一部としてエンティティ ID とエンティティ トークンを返します。これら 2 つの重要な情報は、PlayFab Party のローカル ユーザー インスタンスを初期化するために使用されます。 PlayFabManager.cpp で実装されているカスタム ID でのログインの例を、このコード スニペットに示します:
PlayFab からエンティティ ID とエンティティ トークンを正常に取得したら、Party の有効化と初期化に進むことができます。
XBOX Live を使用している場合は、Party XBOX Live Helper ライブラリ を使用してログインすることもできます。

PlayFab Party の初期化

大まかに言うと、Party の初期化には次の手順が含まれます:
  1. PartyManager へのシングルトン参照を取得し、初期化します。 これは、Party ライブラリと対話するための主要な管理クラスです。
  1. ローカル ユーザー オブジェクトを作成します。 このローカル ユーザー オブジェクトは、ネットワーキングとチャット操作を実行するときに、デバイス (PC、コンソール、電話など) 上のローカル ユーザーを表すために使用されます。ローカル ユーザー オブジェクトは、PlayFab Entity ID で初期化されます。
  1. チャット コントロールを作成し、Party がデータを受信または転送するオーディオ入力および出力チャネルを設定します。 チャット コントロール オブジェクトは、特定のデバイス上のユーザーのチャット操作を管理します。
  1. 文字起こしと翻訳のオプションを設定します。 文字起こしと翻訳は、ゲームのアクセシビリティを大幅に向上させることができるオプションのチャット機能です。これらの機能の詳細については、チャットの概要 を参照してください。
この時点で、アプリケーションまたはゲームで PlayFab Party が初期化されています。 完全なサンプルについては、デモ アプリの NetworkManager.cpp の NetworkManager::Initialize() コードを参照してください。 次のステップは、Party ネットワークを作成してそれに接続することです。

Party ネットワークの作成

Party ネットワークは、チャットまたはデータ通信を交換するためにゲームが作成する、1 つ以上のデバイスとそれらの認可されたユーザーのセキュアなコレクションです。Party ネットワークは通常、ゲームのマルチプレイヤー セッションまたはチャットの「ロビー」の概念と一致します。メッセージは自分のネットワーク内のプレイヤーにのみ送信できます。 次のコード スニペットは、Party ネットワークを作成する方法を示しています。
CreateNewNetwork() への関数呼び出しが成功すると、ネットワーク記述子 PartyNetworkDescriptor オブジェクトが返される/設定されます。この記述子には、他のプレイヤーがネットワークに接続するために必要なデータが含まれています。 その他の関数パラメーターの情報については、API リファレンス ドキュメント を参照してください。 Party ネットワークが作成されると、招待を使用してどのユーザーがネットワークに参加できるかを制御します。PlayFab Matchmaking、PlayFab Lobby、プラットフォームの招待、またはカスタム ゲーム サービスを使用して、他のプレイヤーと接続の詳細を共有できます。 最も単純な招待の種類は、ネットワーク記述子で構成されるオープン招待です。すべての招待の種類とセキュリティ モデルの詳細については、招待とセキュリティ モデル を参照してください。

Party ネットワーク記述子の共有

この時点で、Party ネットワーク記述子があり、他のプレイヤーと共有する準備ができています。この情報を共有するために使用できる同期メカニズムは多数ありますが、簡単なテスト目的では、ホストの Party セッションからゲストの Party セッションに Party ネットワーク記述子を手動でコピー & ペーストできます。マルチプレイヤー ゲームでネットワーク記述子を共有するには PlayFab Lobby の使用を推奨しますが、ゲームのニーズに基づいて独自のロビー サービス、招待、またはその他の共有メカニズムを使用することもできます。

Party ネットワーク記述子を手動で共有する

  1. ホスト セッションから、PartyManager::SerializeNetworkDescriptor() を使用してネットワーク記述子を文字列にシリアル化し、コンソールに出力します。
  2. ネットワーク記述子文字列をローカルまたはリモートの別のゲームにコピー & ペーストします。
  3. ゲスト セッションで、PartyManager::DeserializeNetworkDescriptor() を使用して、ネットワーク記述子文字列からネットワーク記述子を逆シリアル化します。
  4. Party ネットワークに接続します。

PlayFab Lobby を使用して Party ネットワーク記述子を共有する

PlayFab Lobby を使用すると、プレイヤーがマッチの出入りをするときにプレイヤーを一時的にグループ化でき、ネットワーク記述子を同期して同じネットワークに参加できるようにすることができます。 PlayFab Lobby は、すべてのサポート対象プラットフォームとプラットフォーム間で幅広いゲームプレイのニーズをサポートするために高度にカスタマイズ可能です。リアルタイム メッセージで PlayFab Lobby を使用する詳細については、Multiplayer SDK のクイックスタート を参照してください。 PlayFab Lobby を PlayFab Party と一緒に使用する詳細については、PlayFab Multiplayer SDK でロビーを作成する を参照してください。

スケーラブル ネットワークの有効化

PlayFab Party ネットワークは、2 から 128 のデバイスの範囲でサポートするようにスケーリングできます。サービスはシナリオに最適化されたリレー構成を選択するため、PartyNetworkConfiguration の maxDeviceCount をネットワーク内で予想されるデバイスの最大数に一致するように構成することが重要です。 スケーラブル ネットワークの説明については、スケーラブル ネットワーク を参照してください。

Party ネットワークへの接続

Party ネットワーク記述子を取得した後、以下の手順に従って Party ネットワークに参加します:
  1. PartyManager::DeserializeNetworkDescriptor() を使用して、ネットワーク記述子文字列からネットワーク記述子を逆シリアル化します。
  2. Party ネットワークに接続します。
  3. ネットワークのローカル ユーザーを認証します。
  4. VOIP を使用できるように、ローカル チャット コントロールをネットワークに接続します。
  5. ゲーム メッセージ トラフィック用の Party ネットワーク エンドポイント を確立します。

別のネットワーク デバイスまたはエンドポイントへのメッセージの送信

Party ネットワークに接続したら、ローカル エンドポイント オブジェクトを使用してメッセージを送信できます。
完全なコードは NetworkManager.cpp で入手できます。

メッセージを受信してローカル デバイスでレンダリングする

最後のステップは、リモート Party メンバーから送信されたメッセージを受信し、デバイスでそれらをレンダリング (再生) することです。
前のステップの 1 つでチャット コントロールを作成する際、Party がオーディオ データの送受信およびレンダリングに使用するオーディオ入力および出力デバイスを既にセットアップしています。オーディオ メッセージを受信するには、オーディオを流したい場合、各チャット コントロール間で適切なチャット アクセス許可も設定する必要があります。既定では、チャット アクセス許可は NONE に設定されています。詳細については、チャットのアクセス許可 の記事を参照してください。
Party レイヤーからの他のメッセージの処理は、専用の更新スレッドまたは高頻度のゲーム ループで最適に実行できます。ゲーム ループは、フレームごとに実行し、StartProcessingStateChanges() 関数を介して Party Manager からメッセージを受信するようにセットアップされる必要があります。 すべての状態変更の完全な説明については、Party リファレンス ドキュメント を参照してください。または、各状態変更を処理する方法の例については、NetworkManager.cpp を参照してください。

タイトル中断の処理

一部のプラットフォームでは、タイトルの実行を一時的に中断することがサポートされています: iOS、Switch、および GDK。 タイトルが中断されると、ネットワーク スタックが無効になり、PlayFab Party は PlayFab Party ネットワークへの接続を維持できなくなります。 PlayFab Party を使用しているときにタイトルの実行を中断および再開する処理には、特別な考慮が必要です。

iOS

iOS では、PlayFab Party ネットワークから退出して再接続する必要があります。 Party ネットワークから退出するには、LeaveNetwork() を呼び出します。ネットワークが再アクティブ化されたら、以前の Party ネットワーク記述子で ConnectToNetwork() を呼び出します。

Switch および GDK

Nintendo Switch および Microsoft GDK では、PlayFab Party をクリーンアップし、タイトルの実行が再開されるのを待ってから PlayFab Party を再初期化してネットワークに再接続する必要があります。 Party をシャットダウンするには、Cleanup() を呼び出します。
Cleanup() を呼び出すと、すべてのライブラリ リソースが再利用され、すべてのライブラリ オブジェクトが破棄されます。Party を再初期化した後、ローカル ユーザーの再認証、チャット コントロールの再接続、およびエンドポイントの再作成により、ローカル ユーザーやチャット コントロールなどのライブラリ オブジェクトを再作成し、以前のネットワーク状態を再確立する必要があります。
ネットワークが再アクティブ化されたら、Initialize() を呼び出します。Party が正常に初期化されたら、以前の PlayFab Party ネットワークに再参加するために以下の手順が必要です:
  1. 以前の Party ネットワーク記述子で Party ネットワークに接続します。
  2. ローカル ユーザー オブジェクトを再作成し、それらのローカル ユーザーをネットワークに再認証します。
  3. ローカル チャット コントロールを再作成し、それらのチャット コントロールをネットワークに再接続して VOIP を有効にします。
  4. ゲーム メッセージ トラフィック用の Party ネットワーク エンドポイント を再作成します。
再接続が正常に完了した場合、Party は他のピアと通信できるようになりますが、以前のネットワークがもう存在しない場合、再接続は失敗します。この場合、適切な接続エラーを処理する必要があります。

次のステップ

PlayFab Party オブジェクトとその関係 の詳細について読み、ゲームがこれらの機能を最大限に活用できるように、Party API リファレンス ドキュメント を参照してください。 より XBOX 固有のガイダンスについては、早めに、そして頻繁に XBOX 要件 を参照してください。

関連項目

最終更新日 2026年10月20日