メインコンテンツまでスキップ

プレゼンスイベント

Last updated on February 4, 2026

注釈:本資料はAI技術を用いて翻訳されています。

概要

AccelByte Game SDKは、Analyticsフィーチャーと連携して動作するプレゼンスイベントフィーチャーをサポートしています。プレゼンスイベントフィーチャーを使用すると、管理ポータルのテレメトリーセクションの下に他のテレメトリーイベントと同様に表示されるプレゼンスイベントを通じて、ゲーム内のプレイヤーの存在を測定できます。これらのイベントにより、プレイヤーのゲーム内アクティビティを高レベルの視点から理解できます。

プレゼンスイベントは定期的な時間間隔で送信され、デフォルトでは10分または600秒に設定されています。間隔はゲームSDK設定で設定できます。

デフォルトでは、プレゼンスイベントフィーチャーはオフになっており、ゲームSDK設定でオンにできます。

プレゼンスイベントを有効にする

DefaultEngine.iniファイルで、[/Script/AccelByteUe4Sdk.AccelByteSettings]の下のPresenceBroadcastEVentHeartbeatEnabledtrueに設定します。

[/Script/AccelByteUe4Sdk.AccelByteSettings]
PresenceBroadcastEventHeartbeatEnabled=true

時間間隔を設定する

時間間隔はデフォルトで10分または600秒です。時間間隔は次のように設定します:

FTimespan HeartbeatIntervalSecond = FTimespan::FromSeconds(<double: interval second>);
FApiClientPtr ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient();
ApiClient->PresenceBroadcastEvent.SetHeartbeatInterval(HeartbeatIntervalSecond);

プレゼンスイベントを開始または停止する

プレゼンスイベントフィーチャーは次のように開始または停止できます:

///プレゼンスイベントを開始
FApiClientPtr ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient();
ApiClient->PresenceBroadcastEvent.StartHeartbeat();

///プレゼンスイベントを停止
FApiClientPtr ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient();
ApiClient->PresenceBroadcastEvent.StopHeartbeat();

ゲームステートを更新する

ゲームステートは、ゲーム内のユーザーの存在を定義する上で重要な役割を果たします。デフォルトでは、これはOUT_OF_GAMEPLAYに設定されていますが、IN_GAMEPLAYまたはSTOREに変更できます。ゲーム内のユーザーの存在をカバーする3つの事前定義された一般的なステートがあります。ただし、自由形式の文字列を使用して独自のゲームステートを定義することもできます。これにより、Analyticsサービスを通じて、プレイヤーが特定のゲームステートで費やした時間を特定できます。

FApiClientPtr ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient();
EAccelByteGameState GameState = EAccelByteGameState::IN_GAMEPLAY;
FString Description = TEXT("Optional Game State Description");
ApiClient->PresenceBroadcastEvent.SetGameState(GameState ,
FVoidHandler::CreateLambda([]()
{
// On success handler
}),
FErrorHandler::CreateLambda([](int32 ErrorCode, FString ErrorMessage)
{
// On error handler
}), Description);
重要

入力されるデータが正確であることを確認するために、プレイヤーがゲーム内のさまざまなフェーズを移動する際にゲームステートを正しく設定することが重要です。ゲーム内で費やした時間、ストアなどのメトリクスの精度を高めるために、ゲームステートの実装が正しいことを確認してください。

管理ポータルでプレビューする

正しく実装されると、プレゼンスイベントは、左パネルのAnalyticsの下のテレメトリーセクションの管理ポータルで確認できます。ペイロードは以下に示すものと同様に見えるはずです:

{
"EventNamespace": "accelbyte",
"EventName": "enhanced_presence",
"Payload":
{
"flight_id": "4A252BB44CADA183C26F14963290B6DA",
"platform_name": "Windows",
"game_state": "IN_GAMEPLAY",
"game_context": "pvp"
},
"ClientTimestamp": 1684813272
}