サポートされているイベントと報酬を統合する
注釈:本資料はAI技術を用いて翻訳されています。
概要
AccelByte Gaming Services(AGS)の報酬サービスを使用すると、ゲーム内で特定のチャレンジや目標を達成したプレイヤーへの報奨として、仮想アイテムやその他のエンタイトルメントを付与できます。報酬サービスは、Identity and Access Management(IAM)、統計、実績といったAGSの他のサービスと統合して動作し、プレイヤーが報酬を獲得するために達成すべき目標を定義するために使用されます。
このガイドでは、AGS管理ポータルまたはAGS CLIを使用して、AGSの他のサービスからサポートされているイベントと報酬を統合する方法を学習します。
目標
- 報酬設定の概要を理解する。
- プレイヤーに報酬を付与するために、利用可能なイベントを活用する方法を理解する。
前提条件
- AGS管理ポータルへのアクセス。
- AccelByteプラットフォームAPIドキュメントへのアクセス。
- 必要な情報を設定するためのAccelByte実績および統計APIへのアクセス。
- AGS CLI の手順に従う場合は、AGS CLI をインストールし、報酬を管理する権限を持つアカウントでサインインしていること。インストールとサインインを参照してください。
サポートされているイベント
AGS報酬サービスでは、IAM、統計、実績などの他のサービスが公開するいくつかのイベントをトリガーとして、プレイヤーに報酬を付与できます。
以下のイベント名と使用方法を理解することで、報酬と統合したいイベントを選択しやすくなります。
| イベントトピック | イベント名 | 使用方法 |
| 統計 | statItemCreated | 特定の統計値を作成したときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| 統計 | statItemUpdated | 特定の統計値に達したときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| statisticCycle | statItemCycleUpdated | 日次、週次、月次、シーズンなどの統計サイクル内で特定の統計値に達したときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| 実績 | userAchievementUnlocked | 特定の実績を獲得したときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| 実績 | achievementRewardClaimed | グローバル実績の請求に成功したときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| ユーザーアカウント | userAccountCreated | パブリッシャーネームスペースを使用してプラットフォームにアカウントを作成したときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| ユーザーアカウント | gameUserAccountCreated | ゲームネームスペースを使用してプラットフォームにアカウントを作成したときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| ユーザーアカウント | userAccountVerified | ゲームネームスペースを使用してプラットフォームでアカウントが確認されたときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| ユーザーアカウント | userAccountLinked | ゲームネームスペースを使用してプラットフォームのアカウントをサードパーティアカウントとリンクしたときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| ユーザーアカウント | userAccountUpgraded | ゲームネームスペースを使用してヘッドレスアカウントからフルアカウントにアップグレードしたときにプレイヤーが報酬を受け取るようにしたい場合に適しています。 |
| ユーザーアカウント | thirdPartyAccountCreated | サードパーティプラットフォームからプラットフォームにアカウントを作成したときにプレイヤーが報酬を受け取るようにしたい場合に適しています。なお、userAccountCreatedとthirdPartyAccountCreatedはいずれもユーザーアカウントイベントトピックに含まれます。 |
新しい報酬設定を作成する
- Admin Portal
- AGS CLI
-
AGS管理ポータルで、エンゲージメント > 報酬に移動します。

-
報酬ページで、設定を追加ボタンをクリックします。
-
報酬を追加フォームで、必要な情報を入力します:
-
報酬の一意の識別子として、許可された形式(例:
road-to-champion)で報酬コードを入力します。また、作成する報酬に関する補足情報として説明を入力します。 -
イベントトピックドロップダウンから報酬のトリガーを選択します。統計、実績、またはユーザーアカウントのいずれかを選択できます。
-
詳細設定:
-
オプションのUserID Expressionフィールドがあり、JSONパス形式を使用してイベントペイロード内のターゲットユーザーIDを示す条件を指定できます。空白のままにすると、デフォルト値は
$.[0].userIdです。形式:$.eventPayloadObject.userId -
もう1つのオプションフィールドはNamespace Expressionです。これを使用して、JSONパス形式を使用してイベントペイロード内のターゲットネームスペースを示す条件を指定できます。空白のままにすると、デフォルト値は
$.[0].namespaceです。形式:$.eventPayloadObject.namespace
-
-
また、最大付与数フィールドにゲームネームスペースで報酬を獲得できる最大回数、およびユーザーごとの最大付与数フィールドに単一のプレイヤーが報酬を獲得できる最大回数を入力する必要があります。
-
-
追加をクリックします。新しい報酬が報酬リストに追加されます。
-
報酬の設定を記述した JSON ファイルを作成します。ファイル名は任意です。この例では
reward.jsonを使用します。{
"rewardCode": "road-to-champion",
"description": "<Description>",
"eventTopic": "statistic",
"maxAwarded": 100,
"maxAwardedPerUser": 1
}rewardCode: 報酬の一意の識別子で、最大 32 文字です。小文字と数字を使用し、単語は単一のハイフンで区切ります。description: 報酬に関する任意の補足情報で、最大 255 文字です。eventTopic: 報酬のトリガーです。管理ポータルの統計、実績、ユーザーアカウントオプションに対応して、それぞれstatistic、achievement、userAccountを使用します。maxAwardedとmaxAwardedPerUser: 最大付与数とユーザーごとの最大付与数の値です。上限を無制限にするには、-1に設定します。
詳細設定の UserID Expression と Namespace Expression を設定するには、ファイルに
userIdExpressionとnamespaceExpressionを追加します。省略した場合、AGS は$.[0].userIdと$.[0].namespaceを使用します。 -
報酬を作成します。
<YourNamespace>をゲームネームスペースに置き換えます。@の後に JSON ファイルのパスを渡します。ags platform rewards create --namespace <YourNamespace> --json @reward.jsonコマンドを実行すると、新しい報酬が出力されます。出力に含まれる
rewardIdは、報酬条件を追加する際に使用する報酬 ID です。
報酬条件を追加する
- Admin Portal
- AGS CLI
-
管理ポータルの報酬ページで、更新したい報酬を見つけて、その表示オプションをクリックします。

-
報酬詳細ページで、報酬条件を追加をクリックします。
-
報酬条件を追加フォームで、必要な情報を入力します:
-
イベント名フィールドに、報酬をトリガーするために使用するイベントを入力します。詳細については、サポートされているイベントのリストを参照してください。
-
条件名フィールドに、報酬をトリガーする特定のイベント条件の名前を入力します。
-
条件フィールドに、JSONパス形式で報酬をトリガーする特定の条件を入力します。各イベントトピックの形式は以下のとおりです。
-
イベントトピック: 統計: これは、特定の統計値に達したプレイヤーに報酬を付与するためのものです。
$.[?(@.statCode == "input-your-stat-code" && @.latestValue == x)]-
使用している統計設定のstatCodeを入力します。このコードは、管理ポータルの統計ページで確認できます。
-
プレイヤーのlatestValueと一致した場合に報酬が付与される統計値を入力します。
-
この例では、プレイヤーがrewardpoints統計で150ポイントに達すると報酬を受け取ります:
$.[?(@.statCode == "rewardpoints " && @.latestValue == 150)]
-
-
イベントトピック: statisticCycle: これは、統計サイクル内で特定の統計値に達したプレイヤーに報酬を付与するためのものです。日次ログイン報酬やシーズン進行報酬など、報酬がサイクル内の進行状況に従う必要がある場合に、このイベントトピックを使用します。
$.[?(@.statCode == "input-your-stat-code" && @.cycleId == "input-your-cycle-id" && @.latestValue == x)]-
使用している統計設定のstatCodeを入力します。このコードは、管理ポータルの統計ページで確認できます。
-
報酬が従う統計サイクルのcycleIdを入力します。これにより、報酬条件が生涯統計値ではなく、サイクル内の値を評価することを確実にします。
-
サイクル内のプレイヤーのlatestValueと一致した場合に報酬が付与される統計値を入力します。
-
この例では、プレイヤーのdailyloginclaim統計がdaily-login-cycleサイクル内で1に達すると報酬を受け取ります。
$.[?(@.statCode == "dailyloginclaim" && @.cycleId == "daily-login-cycle" && @.latestValue == 1)]
-
-
イベントトピック: 実績: これは、特定の実績をアンロックしたプレイヤーに報酬を付与するためのものです。
$.[?(@.status == 2 && @.achievementCode == "input-your-achievement code")]- Statusを定義します。これにより、プレイヤーが報酬を受け取るタイミングが決まります。
- 実績が進行中のときにプレイヤーが報酬を受け取る場合は1を入力します。
- プレイヤーが実績を受け取ったときに報酬が付与される場合は2を入力します。
- 使用している実績設定のachievementCodeを入力します。このコードは、管理ポータルの実績ページで確認できます。
- この例では、プレイヤーがkillingmachine実績をアンロックすると報酬を受け取ります:
$.[?(@.status == 2 && @.achievementCode == "killingmachine ")] - Statusを定義します。これにより、プレイヤーが報酬を受け取るタイミングが決まります。
-
イベントトピック: ユーザーアカウント、サードパーティログイン これは、プラットフォームにアカウントを作成した後、またはSteam、Xbox、PlayStationなどのサードパーティプラットフォームからプラットフォームにアカウントを作成した後にプレイヤーに報酬を付与するためのものです。
$.[?(@.userId != null && @.emailAddress != null)]- userIdフィールドに**!=null**を入力します。これにより、ユーザーIDがnullでないことが確認されます。
- emailAddressフィールドに**!=nullを入力します。これにより、メールアドレスがnullでないことが確認されます。サードパーティログインの場合は、このフィールドを削除してuserId**のみを使用できます。
-
-
報酬アイテムフィールドに必要な情報を入力します:
- 報酬として付与するアイテムを選択します。アイテムがストアで既に設定されていることを確認してください(ストアに関するガイドの詳細については、こちらを参照してください)。
- 数量フィールドに、報酬に含めるアイテムの数量を入力します。
- 報酬アイテムがサブスクリプションの場合は、期間フィールドにサブスクリプションが続く日数を入力します。選択したアイテムが他のタイプの場合は、このフィールドを空白のままにできます。
- 報酬にさらにアイテムを追加するには、さらにアイテムを追加をクリックします。
-
-
アイテムの追加が完了したら、保存をクリックします。新しい報酬条件がリストに追加されます。
-
更新したい報酬の ID を確認します。出力の各報酬には
rewardIdがあります。ags platform rewards list --namespace <YourNamespace> -
付与したい各アイテムの ID を確認します。このコマンドはゲームの公開済みストアを検索します。出力の各アイテムには
itemIdがあります。ags platform items list --namespace <YourNamespace> --item-name <ItemName> -
報酬の現在の設定をファイルに保存します。
ags platform rewards get --namespace <YourNamespace> --reward-id <RewardId> --format json > reward.json -
reward.jsonで、rewardConditionsリストにエントリを追加します。リストに既存のエントリがある場合は、それらを残してください。たとえば、次の条件は、プレイヤーがrewardpoints統計で 150 ポイントに達したときにアイテムを 1 つ付与します。"rewardConditions": [
{
"eventName": "statItemUpdated",
"conditionName": "<ConditionName>",
"condition": "$.[?(@.statCode == \"rewardpoints\" && @.latestValue == 150)]",
"rewardItems": [
{
"identityType": "ITEM_ID",
"itemId": "<ItemId>",
"quantity": 1
}
]
}
]各フィールドは管理ポータルのフォームに対応しています。
管理ポータルのフィールド リクエストボディのフィールド イベント名 eventName。サポートされているイベントのリストを参照してください。条件名 conditionName条件 condition。Admin Portal タブの手順 3 に示されている、イベントトピックに応じた JSON パス形式で指定します。例のように、条件内の各二重引用符の前にバックスラッシュを付けてください。アイテム itemId。identityTypeをITEM_IDに設定します。数量 quantity期間 duration。プレイヤーがコインまたはオプションボックスアイテムを所有する期間を秒単位で指定します。たとえば、2592000は 30 日です。代わりに有効期限を設定するには、endDateを使用します。両方を設定しないでください。永続的に所有させる場合は、両方とも省略します。さらにアイテムを付与するには、
rewardItemsにエントリを追加します。 -
ファイルを送信して報酬を更新します。新しい報酬条件が報酬に追加されます。
ags platform rewards update --namespace <YourNamespace> --reward-id <RewardId> --json @reward.json警告更新すると、報酬の条件はファイル内の
rewardConditionsリストに置き換えられます。既存の条件を保持するには、必ずgetで保存したファイル全体を送信してください。