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

独自のセッションマネージャー Extend Override アプリを作成する

Last updated on July 15, 2026

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

Introduction

AccelByte Gaming Services (AGS) では、Extend Override アプリを使用して、セッション(パーティーおよびゲームセッション)の作成、更新、削除イベント中にセッションデータをカスタマイズできます。

Session Manager Actions

Extend Override アプリをトリガーする際、Session service は次の入力パラメーターを渡します。

  • 直前のセッション状態
  • 現在のセッション状態
  • 操作(ゲームおよびパーティーの Created、Updated、Deleted)

セッションデータに変更がある場合、アプリは Session Create 操作でセッションデータを返します。

Prerequisites

API Contract

コントラクトに含まれる関数は次のとおりです。

service SessionManager {
rpc OnSessionCreated(SessionCreatedRequest) returns (SessionResponse);
rpc OnSessionUpdated(SessionUpdatedRequest) returns (google.protobuf.Empty);
rpc OnSessionDeleted(SessionDeletedRequest) returns (google.protobuf.Empty);
rpc OnPartyCreated(PartyCreatedRequest) returns (PartyResponse);
rpc OnPartyUpdated(PartyUpdatedRequest) returns (google.protobuf.Empty);
rpc OnPartyDeleted(PartyDeletedRequest) returns (google.protobuf.Empty);
}

OnSessionCreated​

OnSessionCreated は、ゲームセッションが作成され、セッションがクライアントに返される前にそのデータをカスタマイズしたい場合に呼び出されます。この操作は同期的に呼び出されるため、Session service はデータをデータベースに保存する前に gRPC サーバーからの応答を待ちます。

public override Task<SessionResponse> OnSessionCreated(SessionCreatedRequest request, ServerCallContext context)
{
...
}

OnSessionUpdated

OnSessionUpdated は、ゲームセッションに更新または変更があったときに呼び出されます。この操作は非同期であるため、Session service はゲームセッションに更新があると gRPC サーバーに通知しますが、データベースを更新するための応答を待つことはありません。

public override Task<Empty> OnSessionUpdated(SessionUpdatedRequest request, ServerCallContext context)
{
...
}

OnSessionDeleted

OnSessionDeleted は、ゲームセッションが削除される際に呼び出されます。このイベントは非同期であるため、Session service は削除リクエストがあると gRPC サーバーに通知しますが、データベースを更新するための応答を待つことはありません。

public override Task<Empty> OnSessionDeleted(SessionDeletedRequest request, ServerCallContext context)
{
...
}

OnPartyCreated​

OnPartyCreated は、パーティーセッションが作成され、セッションがクライアントに返される前にそのデータをカスタマイズしたい場合に呼び出されます。この操作は同期的に呼び出されるため、Session service はデータをデータベースに保存する前に gRPC サーバーからの応答を待ちます。

public override Task<PartyResponse> OnPartyCreated(PartyCreatedRequest request, ServerCallContext context)
{
...
}

OnPartyUpdated

OnPartyUpdated は、パーティーセッションに更新または変更があったときに呼び出されます。この操作は非同期であるため、Session service はパーティーセッションに更新があると gRPC サーバーに通知しますが、データベースを更新するための応答を待つことはありません。

public override Task<Empty> OnPartyUpdated(PartyUpdatedRequest request, ServerCallContext context)
{
...
}

OnPartyDeleted

OnPartyDeleted は、パーティーセッションが削除される際に呼び出されます。このイベントは非同期であるため、Session service は削除リクエストがあると gRPC サーバーに通知しますが、データベースを更新するための応答を待つことはありません。

public override Task<Empty> OnPartyDeleted(PartyDeletedRequest request, ServerCallContext context)
{
...
}
備考

gRPC リクエストの処理に関する詳細は、こちらを参照してください。