Presence インターフェース

Presence インターフェースの概要です。

Windows
MacOS
Linux

オンライン サービスにログインすると、ユーザーは自分の友達やオンラインで出会った他のユーザーに関する情報 (オンラインであるかどうか、彼らのしていること、ゲームに参加可能かどうかなど) を見ることができます。 Presence インターフェース は、オンライン サブシステムにこれらの機能へのアクセスを提供します。

プレゼンス ステータス

ほとんどのオンライン サービスは、「オンライン」、「オフライン」、「不在」などのような各ユーザーの基本的なプレゼンス (存在) の状態について認識します。また、「ロビー内」や「(マップ上で) 対戦中」などのようなゲーム固有の状態も認識します。 ただし、サービス固有のプライバシー ポリシーとアカウント設定により、これらの設定は常には表示されなかったり、一部のユーザーのみに表示されたりして、それ以外のユーザーには表示されない場合もあります。 オンライン サブシステムはこれらのポリシーや設定とやり取りはしませんが、取得する情報はそれらによって影響を受けます。

プレゼンスを定義する

FOnlineUserPresence クラスには、ユーザーのプレゼンスに関するすべての情報が含まれています。 ユーザーが現在オンラインであるかどうかや、ユーザーがゲームをプレイしているかどうかなどの基本情報に加えて、ユーザーのプレゼンス (FOnlineUserPresenceStatus クラスの使用) には、より詳細な情報が格納されます。 これには通常、表示用のローカライズされた文字列、ユーザーの基本状態を説明するための列挙型の値 (型EOnlinePresenceState)、および正確なプレゼンス表示メッセージを作成する際に使用可能な、ゲーム固有のカスタム データを保持する一連のキーと値のペアが含まれます。

他のユーザーに関する情報を取得する

特定のユーザーに関するプレゼンス情報を収集するための基本的なフローは、まず最初に QueryPresence を介してオンラインサービスにリクエストし、そのユーザーを FUniqueNetId で指定します。 その操作が終了すると、提供された FOnPresenceTaskCompleteDelegate が呼び出され、ユーザーと、リクエストの成否を示します。 成功した場合、ローカル プレゼンス情報キャッシュには最新のプレゼンス情報が入ります。この情報は GetCachedPresence 関数を通じて利用できます。

一部のオンライン サービスは、ユーザーのプレゼンスについてオンライン サブシステムに早期に通知します。 これらのサービスでは、実際には QueryPresence を呼び出したり、そのデリゲートを待ったりする必要はありませんが、通常のコードのフローは変更されないので、複数のサービス間で機能します。

ユーザーのプレゼンスを設定する

SetPresence 関数では、オンライン サービスを介してローカル ユーザーのプレゼンス状態を設定します。 オンライン サービスで新しいステータスを確認する必要があるため、これは非同期呼び出しとなります。完了時には FOnPresenceTaskCompleteDelegate 型のデリゲートが呼び出されます。 プレゼンス ステータス自体は、FOnlineUserPresenceStatus クラスによって記述されます。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる