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

Cloud Saveバリデータの紹介

Last updated on February 4, 2026

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

概要

この記事では、クラウドセーブバリデータ用のExtend Overrideアプリで使用されるAPIコントラクト(Protobuf)について説明します。

service CloudsaveValidatorService {
// game record
rpc BeforeWriteGameRecord(GameRecord) returns (GameRecordValidationResult);
rpc AfterReadGameRecord(GameRecord) returns (GameRecordValidationResult);
rpc AfterBulkReadGameRecord(BulkGameRecord) returns (BulkGameRecordValidationResult);

// player record
rpc BeforeWritePlayerRecord(PlayerRecord) returns (PlayerRecordValidationResult);
rpc AfterReadPlayerRecord(PlayerRecord) returns (PlayerRecordValidationResult);
rpc AfterBulkReadPlayerRecord(BulkPlayerRecord) returns (BulkPlayerRecordValidationResult);

// admin game record
rpc BeforeWriteAdminGameRecord(AdminGameRecord) returns (GameRecordValidationResult);

// admin player record
rpc BeforeWriteAdminPlayerRecord(AdminPlayerRecord) returns (PlayerRecordValidationResult);
}

APIコントラクト

BeforeWriteGameRecord

このメソッドは、ゲームレコードがCloud Saveに書き込まれる前にAccelByte Gaming Services(AGS)によって呼び出されます。

アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。

public override Task<GameRecordValidationResult> BeforeWriteGameRecord(GameRecord request, ServerCallContext context)
{
...
}

AfterReadGameRecord

このメソッドは、ゲームレコードがCloud Saveから読み取られた後にAGSによって呼び出されます。

アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。

public override Task<GameRecordValidationResult> AfterReadGameRecord(GameRecord request, ServerCallContext context)
{
...
}

AfterBulkReadGameRecord

このメソッドは、Cloud Saveからゲームレコードを一括読み取りした後にAGSによって呼び出されます。

アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。

public override Task<BulkGameRecordValidationResult> AfterBulkReadGameRecord(BulkGameRecord request, ServerCallContext context)
{
...
}

BeforeWritePlayerRecord

このメソッドは、プレイヤーレコードがCloud Saveに書き込まれる前にAGSによって呼び出されます。

アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。

public override Task<PlayerRecordValidationResult> BeforeWritePlayerRecord(PlayerRecord request, ServerCallContext context)
{
...
}

AfterReadPlayerRecord

このメソッドは、プレイヤーレコードがCloud Saveから読み取られた後にAGSによって呼び出されます。

アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。

public override Task<PlayerRecordValidationResult> AfterReadPlayerRecord(PlayerRecord request, ServerCallContext context)
{
...
}

AfterBulkReadPlayerRecord

このメソッドは、Cloud Saveからプレイヤーレコードを一括読み取りした後にAGSによって呼び出されます。

アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。

public override Task<BulkPlayerRecordValidationResult> AfterBulkReadPlayerRecord(BulkPlayerRecord request, ServerCallContext context)
{
...
}

BeforeWriteAdminGameRecord

このメソッドは、管理者ゲームレコードがCloud Saveに書き込まれる前にAGSによって呼び出されます。

アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。

public override Task<GameRecordValidationResult> BeforeWriteAdminGameRecord(AdminGameRecord request, ServerCallContext context)
{
...
}

BeforeWriteAdminPlayerRecord

このメソッドは、管理者プレイヤーレコードがCloud Saveに書き込まれる前にAGSによって呼び出されます。

アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。

public override Task<PlayerRecordValidationResult> BeforeWriteAdminPlayerRecord(AdminPlayerRecord request, ServerCallContext context)
{
...
}
備考

gRPCリクエスト処理の詳細については、こちらをご覧ください。