Extend Event Handler 入門
注釈:本資料はAI技術を用いて翻訳されています。
Overview
Extend Event Handler を使用すると、AGS イベントに応じてカスタムロジックを実行できます。バックエンドで何かが発生したとき(マッチの終了やシーズンの完了など)、アプリがそのイベントを受け取り、ゲームクライアントの更新を必要とせずにアクションを実行します。
Extend Event Handler アプリは、Kafka Connect を介して AGS イベントを受信し、そのイベントに基づいてカスタムロジックを実行する gRPC サービスです。
AGS サービスが Kafka にイベントを発行すると、アプリにバンドルされた Kafka Connect のサイドカーがそれを消費し、アプリの gRPC サーバーに転送します。そして、gRPC サーバーがカスタムロジックを呼び出します。
メリット
-
イベント駆動のカスタムロジック: バックエンドのイベントに自動的に応答します。例えば、シーズン終了時にエンタイトルメントを付与したり、マッチ後にプレイヤーの統計情報を更新したりできます。これらはすべてゲームクライアントを介さずに行われます。
-
ゲームクライアントの更新が不要: アプリを更新して再デプロイすることで、いつでもイベント処理ロジックを変更できます。プレイヤーは何もダウンロードする必要がありません。
考慮事項
各 Event Handler のレプリカには Kafka Connect のサイドカーが含まれるため、他の Extend アプリタイプよりもリソースのオーバーヘッドが大きくなります。可能な限り、イベントごとに個別のアプリをデプロイするのではなく、複数のイベントタイプを処理する単一のアプリにイベント処理ロジックを統合してください。これにより、環境内で実行される Kafka Connect インスタンスの数を減らすことができます。
API イベント
利用可能なすべてのイベントは、API イベントセクションで確認できます。
イベントディスクリプタ
イベントディスクリプタとして機能する Protocol Buffers(Protobuf)ファイルは、AccelByte API proto GitHub リポジトリにあります。API イベントページの各イベントも、それぞれの proto ファイルに直接リンクしています。
REST API サポート
Event Handler アプリは、Extend Service Extension と同じ gRPC Gateway スタックを使用して REST API エンドポイントを公開することもできます。これにより、単一のアプリで AGS イベントへの応答とカスタム RESTful エンドポイントの提供の両方を実現できます。詳細はREST API サポートを参照してください。