Cloud Saveバリデータの紹介
注釈:本資料は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)によって呼び出されます。
- C#
- Go
- Java
- Python
アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。
public override Task<GameRecordValidationResult> BeforeWriteGameRecord(GameRecord request, ServerCallContext context)
{
...
}
アプリ内では、以下の関数がsrc/master/pkg/server/cloudsave_validator_service.goにあります。
func (s *CloudsaveValidatorServer) BeforeWriteGameRecord(ctx context.Context, request *pb.GameRecord) (*pb.GameRecordValidationResult, error) {
...
}
アプリ内では、以下の関数がsrc/main/java/net/accelbyte/cloudsave/validator/service/CloudsaveValidatorService.javaにあります。
@Override
public void beforeWriteGameRecord(GameRecord request, StreamObserver<GameRecordValidationResult> responseObserver) {
...
}
アプリ内では、以下の関数がsrc/app/services/cloudsave_validator_service.pyにあります。
async def BeforeWriteGameRecord(
self, request: GameRecord, context: Any
) -> GameRecordValidationResult:
...
AfterReadGameRecord
このメソッドは、ゲームレコードがCloud Saveから読み取られた後にAGSによって呼び出されます。
- C#
- Go
- Java
- Python
アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。
public override Task<GameRecordValidationResult> AfterReadGameRecord(GameRecord request, ServerCallContext context)
{
...
}
アプリ内では、以下の関数がsrc/master/pkg/server/cloudsave_validator_service.goにあります。
func (s *CloudsaveValidatorServer) AfterReadGameRecord(ctx context.Context, gameRecord *pb.GameRecord) (*pb.GameRecordValidationResult, error) {
...
}
アプリ内では、以下の関数がsrc/main/java/net/accelbyte/cloudsave/validator/service/CloudsaveValidatorService.javaにあります。
@Override
public void afterReadGameRecord(GameRecord request, StreamObserver<GameRecordValidationResult> responseObserver) {
...
}
アプリ内では、以下の関数がsrc/app/services/cloudsave_validator_service.pyにあります。
async def AfterReadGameRecord(
self, request: GameRecord, context: Any
) -> GameRecordValidationResult:
...
AfterBulkReadGameRecord
このメソッドは、Cloud Saveからゲームレコードを一括読み取りした後にAGSによって呼び出されます。
- C#
- Go
- Java
- Python
アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。
public override Task<BulkGameRecordValidationResult> AfterBulkReadGameRecord(BulkGameRecord request, ServerCallContext context)
{
...
}
アプリ内では、以下の関数がsrc/master/pkg/server/cloudsave_validator_service.goにあります。
func (s *CloudsaveValidatorServer) AfterBulkReadGameRecord(ctx context.Context, gameRecords *pb.BulkGameRecord) (*pb.BulkGameRecordValidationResult, error) {
...
}
アプリ内では、以下の関数がsrc/main/java/net/accelbyte/cloudsave/validator/service/CloudsaveValidatorService.javaにあります。
@Override
public void afterBulkReadGameRecord(BulkGameRecord request, StreamObserver<BulkGameRecordValidationResult> responseObserver) {
...
アプリ内では、以下の関数がsrc/app/services/cloudsave_validator_service.pyにあります。
async def AfterBulkReadGameRecord(
self, request: BulkGameRecord, context
) -> BulkGameRecordValidationResult:
...
BeforeWritePlayerRecord
このメソッドは、プレイヤーレコードがCloud Saveに書き込まれる前にAGSによって呼び出されます。
- C#
- Go
- Java
- Python
アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。
public override Task<PlayerRecordValidationResult> BeforeWritePlayerRecord(PlayerRecord request, ServerCallContext context)
{
...
}
アプリ内では、以下の関数がsrc/master/pkg/server/cloudsave_validator_service.goにあります。
func (s *CloudsaveValidatorServer) BeforeWritePlayerRecord(ctx context.Context, request *pb.PlayerRecord) (*pb.PlayerRecordValidationResult, error) {
...
}
アプリ内では、以下の関数がsrc/main/java/net/accelbyte/cloudsave/validator/service/CloudsaveValidatorService.javaにあります。
@Override
public void beforeWritePlayerRecord(PlayerRecord request, StreamObserver<PlayerRecordValidationResult> responseObserver) {
...
}
アプリ内では、以下の関数がsrc/app/services/cloudsave_validator_service.pyにあります。
async def BeforeWritePlayerRecord(
self, request: PlayerRecord, context: Any
) -> PlayerRecordValidationResult:
...
AfterReadPlayerRecord
このメソッドは、プレイヤーレコードがCloud Saveから読み取られた後にAGSによって呼び出されます。
- C#
- Go
- Java
- Python
アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。
public override Task<PlayerRecordValidationResult> AfterReadPlayerRecord(PlayerRecord request, ServerCallContext context)
{
...
}
アプリ内では、以下の関数がsrc/master/pkg/server/cloudsave_validator_service.goにあります。
func (s *CloudsaveValidatorServer) AfterReadPlayerRecord(ctx context.Context, playerRecord *pb.PlayerRecord) (*pb.PlayerRecordValidationResult, error) {
...
}
アプリ内では、以下の関数がsrc/main/java/net/accelbyte/cloudsave/validator/service/CloudsaveValidatorService.javaにあります。
@Override
public void afterReadPlayerRecord(PlayerRecord request, StreamObserver<PlayerRecordValidationResult> responseObserver) {
...
}
アプリ内では、以下の関数がsrc/app/services/cloudsave_validator_service.pyにあります。
async def AfterReadPlayerRecord(
self, request: PlayerRecord, context: Any
) -> PlayerRecordValidationResult:
...
AfterBulkReadPlayerRecord
このメソッドは、Cloud Saveからプレイヤーレコードを一括読み取りした後にAGSによって呼び出されます。
- C#
- Go
- Java
- Python
アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。
public override Task<BulkPlayerRecordValidationResult> AfterBulkReadPlayerRecord(BulkPlayerRecord request, ServerCallContext context)
{
...
}
アプリ内では、以下の関数がpkg/server/cloudsave_validator_service.goにあります。
func (s *CloudsaveValidatorServer) AfterBulkReadPlayerRecord(ctx context.Context, playerRecords *pb.BulkPlayerRecord) (*pb.BulkPlayerRecordValidationResult, error) {
...
}
アプリ内では、以下の関数がsrc/main/java/net/accelbyte/cloudsave/validator/service/CloudsaveValidatorService.javaにあります。
@Override
public void afterBulkReadPlayerRecord(BulkPlayerRecord request, StreamObserver<BulkPlayerRecordValidationResult> responseObserver) {
...
}
アプリ内では、以下の関数がsrc/app/services/cloudsave_validator_service.pyにあります。
async def AfterBulkReadPlayerRecord(
self, request: BulkPlayerRecord, context: Any
) -> BulkPlayerRecordValidationResult:
...
BeforeWriteAdminGameRecord
このメソッドは、管理者ゲームレコードがCloud Saveに書き込まれる前にAGSによって呼び出されます。
- C#
- Go
- Java
- Python
アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。
public override Task<GameRecordValidationResult> BeforeWriteAdminGameRecord(AdminGameRecord request, ServerCallContext context)
{
...
}
アプリ内では、以下の関数がsrc/master/pkg/server/cloudsave_validator_service.goにあります。
func (s *CloudsaveValidatorServer) BeforeWriteAdminGameRecord(ctx context.Context, request *pb.AdminGameRecord) (*pb.GameRecordValidationResult, error) {
...
}
アプリ内では、以下の関数がsrc/main/java/net/accelbyte/cloudsave/validator/service/CloudsaveValidatorService.javaにあります。
@Override
public void beforeWriteAdminGameRecord(AdminGameRecord request, StreamObserver<GameRecordValidationResult> responseObserver) {
...
}
アプリ内では、以下の関数がsrc/app/services/cloudsave_validator_service.pyにあります。
async def BeforeWriteAdminGameRecord(
self, request: AdminGameRecord, context: Any
) -> GameRecordValidationResult:
...
BeforeWriteAdminPlayerRecord
このメソッドは、管理者プレイヤーレコードがCloud Saveに書き込まれる前にAGSによって呼び出されます。
- C#
- Go
- Java
- Python
アプリ内では、以下の関数がsrc/AccelByte.PluginArch.CloudsaveValidator.Demo.Server/Services/CloudSaveValidatorService.csにあります。
public override Task<PlayerRecordValidationResult> BeforeWriteAdminPlayerRecord(AdminPlayerRecord request, ServerCallContext context)
{
...
}
アプリ内では、以下の関数がsrc/master/pkg/server/cloudsave_validator_service.goにあります。
func (s *CloudsaveValidatorServer) BeforeWriteAdminPlayerRecord(ctx context.Context, request *pb.AdminPlayerRecord) (*pb.PlayerRecordValidationResult, error) {
}
アプリ内では、以下の関数がsrc/main/java/net/accelbyte/cloudsave/validator/service/CloudsaveValidatorService.javaにあります。
@Override
public void beforeWriteAdminPlayerRecord(AdminPlayerRecord request, StreamObserver<PlayerRecordValidationResult> responseObserver) {
...
}
アプリ内では、以下の関数がsrc/app/services/cloudsave_validator_service.pyにあります。
async def BeforeWriteAdminPlayerRecord(
self, request: AdminPlayerRecord, context: Any
) -> PlayerRecordValidationResult:
...
gRPCリクエスト処理の詳細については、こちらをご覧ください。