Online Services の Social インターフェース は、ユーザー間の関係を管理します。これには下記が含まれています。
- プレイヤーのフレンド リストの取得および表示。
- フレンド招待の送信。
- フレンド招待の承認 / 拒否。
- ブロックしたプレイヤー リストの表示。
- 他のプレイヤーのブロック。
API の概要
機能
次の表は、Social インターフェースによって提供される関数の概要を示しています。
関数 | 説明 |
---|---|
表示 | |
QueryFriends |
プレイヤーのフレンド リストをクエリします。 |
GetFriends |
QueryFriends によってキャッシュされているフレンド リストを取得します。 |
招待 | |
SendFriendInvite |
フレンド招待を送信します。 |
AcceptFriendInvite |
フレンド招待を承認します。 |
RejectFriendInvite |
フレンド招待を拒否します。 |
ブロック | |
QueryBlockedUsers |
ブロックしたユーザーのリストをクエリします。 |
GetBlockedUsers |
QueryBlockedUsers によってキャッシュされているブロックしたユーザーのリストを取得します。 |
BlockUser |
指定したユーザーをブロックします。 |
イベントのリッスン | |
OnRelationshipUpdated |
フレンド リストを更新するとトリガーされるイベントです。 |
主な構造体
Social インターフェースは、パラメータと戻り値を渡すための関数固有の構造体に加えて、主に FFriend
構造体によって機能を伝達します。
FFriend
メンバー | 型 | 説明 |
---|---|---|
FriendId |
FAccountId |
このフレンドのアカウント ID。 |
DisplayName |
FString |
このフレンドの名前を表示します。 |
Nickname |
FString |
このフレンドのローカルなニックネーム。 プラットフォームの使用可能なオンライン サービスについては、ドキュメントを参照してください。 |
Relationship |
ERelationship |
このフレンドとの関係。 |
列挙型クラス
ERelationship
列挙型クラスは、アクセスに使用する FFriend
構造体によって表されるローカル ユーザーとオンライン ユーザー間の関係ステータスを保持します。
ERelationship
値 | 説明 |
---|---|
Friend |
フレンドです |
NotFriend |
フレンドではありません |
InviteSent |
ユーザーに送信した招待です。 |
InviteReceived |
ユーザーから受け取った招待です。 |
Blocked |
ローカル ユーザーがこのユーザーをブロックしました。 |
プロセス フロー
フレンドを表示する
ゲームを開始すると、プレイヤーはオンラインのフレンドを確認します。これを実現するには、QueryFriends
で Social インターフェースを使用してプレイヤーのフレンド リストをキャッシュし、次に GetFriends
でそのキャッシュしたフレンド リストを読み取り用に取得します。これで、プレイヤーはフレンド リストを表示し、一緒にゲーム セッションに参加するようにフレンドをロビーに招待するかどうかを決定することができます。
フレンドを招待する
フレンドや他のオンライン プレイヤーとプレイした後、プレイヤーは一緒にプレイを楽しんだ他のプレイヤーに会います。このプレイヤーは、そのオンライン プレイヤー 2 人にフレンド招待を送信することにします。SendFriendInvite
は呼び出されるたびに、指定した 1 人のプレイヤーにフレンド招待を送信します。そのオンライン プレイヤーのうちの 1 人は、招待を確認して拒否します。ゲームは RejectFriendInvite
を呼び出し、プレイヤーの招待を拒否します。
一方、もう 1 人のオンライン プレイヤーは招待を承認します。AcceptFriendInvite
への呼び出しで、プレイヤーの招待を承認します。このフレンドの承認により、招待を送信したプレイヤーと招待を承認したプレイヤーの両方に OnRelationshipUpdated
イベントがトリガーされます。
ユーザーをブロックする
新しいフレンドとプレイしていると、プレイヤーは別のオンライン プレイヤーに会います。今回、プレイヤーはこのオンライン プレイヤーとは今後やり取りしないことにします。そこで、プレイヤーはこのオンライン プレイヤーをブロックします。プレイヤーは、ブロック リストをクエリしてブロックしているオンライン プレイヤーを確認することができます。QueryBlockUsers
は情報をインターフェースにキャッシュし、次に GetBlockedUsers
を呼び出してブロックしたプレイヤーのリストを取得します。対象のオンライン プレイヤーがこのリストにない場合、BlockUser
への呼び出しにより、そのオンライン プレイヤーはプレイヤーのブロック リストに追加されます。
使用するプラットフォームにより、Invite API および Block API がプラットフォーム ダイアログを呼び出し、関連するアクションを実行することがあります。詳細については、特定のプラットフォームのドキュメントを参照してください。
Online Subsystem からコードを変換する
Online Services の Social インターフェースは、以前に Online Subsystem の Friends インターフェース によって処理されたすべてのコードに対応しています。
追加資料
ヘッダ ファイル
詳細については、必要に応じて「Social.h
」ヘッダ ファイルを直接確認してください。Social インターフェースのヘッダ ファイル「Social.h
」は、次のディレクトリに格納されています。
UNREAL_ENGINE_ROOT\Engine\Plugins\Online\OnlineServices\Source\OnlineServicesInterface\Public\Online
UE のソース コードの入手方法については、「Unreal Engine のソース コードをダウンロードする」を参照してください。
関数パラメータおよび戻り型
関数のパラメータと戻り型、およびパラメータの渡し方や関数が戻ったときの結果の処理などについては、「Online Services の概要」ページの「関数」セクションを参照してください。