アイテム購入制限
仕組み
ユーザーごとの購入制限を設定し、これらの制限の定期的なリセットを設定できます。
制限の設定は、以下のシナリオで利用できます:
- ゲーム内アイテムの販売 — 仮想アイテム、仮想通貨パッケージ、バンドル
- ゲームキーによるゲームおよびDLCの販売
定期的な制限リセットを有効にすることで、以下のことが可能になります:
- 再購入を許可する
- 複数のゲーム配信プラットフォームでアイテムが販売された場合に、システムとデータを同期する
ユーザーに利用可能な数量を正しく表示するには、認証を設定する必要があります。
認証されていないユーザーには、常に購入できるアイテムの最大数量が表示されます。アクティブな制限が適用された状態で、ユーザーの残りのアイテム数量を表示するには、リクエスト時にユーザー認証データを含めてください:
- アイテムカタログは、Virtual Items & Currency グループのCatalogサブセクションのAPIコールで取得
- ゲームカタログは、Game Keys グループのCatalogサブセクションのAPIコールで取得
エクソーラは購入制限を適用し、ユーザーが設定された上限を超えてアイテムを購入するのを防ぎます:
- 決済UIが開かれ、アイテムの支払いが完了すると、そのアイテムを含むすべての未払い注文は無効になります。
- 例:ユーザーが、購入を完了する前に、限定アイテムの決済フォームを複数のブラウザタブや異なるブラウザで開くと、同じアイテムに対して複数の注文が作成される可能性があります。購入が1つのタブで完了すると、エクソーラはそのアイテムに関するすべての未払い注文をキャンセルします。
- 支払いが返金されたり、注文がキャンセルされたりしても、制限はリセットされません。次のAPIコールでリセットできます: Refresh all purchase limits for specified user および Refresh all promotion limits for specified user。
- 例:購入制限のあるアイテムをユーザーが購入し、ゲーム内で使用した後に返金をリクエストできるとします。もし制限が自動でリセットされると、そのユーザーは再度アイテムを購入して使用し、このサイクルを繰り返して意図した制限を実質的に回避できてしまいます。これを防ぐため、支払いが返金されたり注文がキャンセルされたりしても、制限はリセットされません。
プロモーションの使用制限を設定するには、手順を参照してください。
制限の設定と更新
パブリッシャーアカウントで設定と更新
使用回数が制限されたアイテムを作成するには:
- パブリッシャーアカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- モバイルゲーム向けのアカウントでプロジェクトを開き、 Catalog セクションに移動します。
- Create manually をクリックし、ドロップダウンリストから Virtual item を選択します。
- General settings セクションで、次を指定します:
- SKU
- アイテムを属させるグループ(複数可、任意)
- 名前
- 短い説明
- 詳細説明 — 追加する場合は対応するトグルをオン(任意)

- Media セクションで、画像または動画を 1 件以上アップロードします(任意)。デバイスから直接、またはリンク経由で追加できます。エクソーラのサイトビルダーで作成したストアでは、すべてのアイテムカードに Main としてマークされたファイルが表示され、残りのファイルはメディアギャラリー付きのアイテムカードでのみ表示されます。Main としてマークされたファイルは、カタログ取得 API コールのレスポンスでも返されます。

- Price settings セクションで、価格を設定するか無料アイテムを作成します:
- 価格を設定するには、Paid item を選択し、Real currency prices および/または Virtual currency prices のトグルをオンにして、価格を指定します。必要に応じて、地域別価格を設定。
- 無料アイテムを作成するには、Free item を選択します。
アイテムには複数の実際通貨および仮想通貨で価格を設定できます。この場合、種類ごとにデフォルト通貨を指定する必要があります。実際通貨から1つ、仮想通貨から1つを選択します。
仮想通貨での価格は、プロジェクト内でその仮想通貨が既に作成されている場合にのみ指定できます。

- 購入可能なアイテム数を制限するには:
- Limits セクションでトグルをオンにし、数量を指定します。
- 制限のリセット頻度を設定します。ドロップダウンリストから期間を選択します:
- Daily
- Weekly
- Monthly
- Custom interval。間隔はストアでのアイテムの表示開始日時から計算されます。
- No regular refresh
- 選択した期間に対応するパラメーターを指定して、リセットスケジュールを設定します。

アイテムの表示期間制限を設定する(任意):
- Add specific display period セクションでトグルをオンにします。
- タイムゾーン、開始日時、終了日時を指定します。
表示終了日時を設定しない場合は、No end date トグルをオンにします。

- 次のいずれかの方法で属性を設定します(任意):

- 有料アイテムをランダム報酬(例:ルートボックスやガチャ)の仕組みで使用する場合は、Mark as paid randomized reward のトグルをオンにします。
Create をクリックします。
表示されたウィンドウで、アイテムのステータス を選択し、Continue をクリックします。

作成したアイテムは All items セクションに表示されます。
既存のアイテムの制限を設定または更新するには:
- パブリッシャーアカウントでプロジェクトを開き、Items catalog > All items > Virtual items セクションに移動します。
アカウントで設定と更新
使用回数が制限されたアイテムを作成するには:
- パブリッシャーアカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- モバイルゲーム向けのアカウントでプロジェクトを開き、 Catalog セクションに移動します。
- Create manually をクリックし、ドロップダウンリストから Virtual item を選択します。
- General settings セクションで、次を指定します:
- SKU
- アイテムを属させるグループ(複数可、任意)
- 名前
- 短い説明
- 詳細説明 — 追加する場合は対応するトグルをオン(任意)

- Media セクションで、画像または動画を 1 件以上アップロードします(任意)。デバイスから直接、またはリンク経由で追加できます。エクソーラのサイトビルダーで作成したストアでは、すべてのアイテムカードに Main としてマークされたファイルが表示され、残りのファイルはメディアギャラリー付きのアイテムカードでのみ表示されます。Main としてマークされたファイルは、カタログ取得 API コールのレスポンスでも返されます。

- Price settings セクションで、価格を設定するか無料アイテムを作成します:
- 価格を設定するには、Paid item を選択し、Real currency prices および/または Virtual currency prices のトグルをオンにして、価格を指定します。必要に応じて、地域別価格を設定。
- 無料アイテムを作成するには、Free item を選択します。
アイテムには複数の実際通貨および仮想通貨で価格を設定できます。この場合、種類ごとにデフォルト通貨を指定する必要があります。実際通貨から1つ、仮想通貨から1つを選択します。
仮想通貨での価格は、プロジェクト内でその仮想通貨が既に作成されている場合にのみ指定できます。

- 購入可能なアイテム数を制限するには:
- Limits セクションでトグルをオンにし、数量を指定します。
- 制限のリセット頻度を設定します。ドロップダウンリストから期間を選択します:
- Daily
- Weekly
- Monthly
- Custom interval。間隔はストアでのアイテムの表示開始日時から計算されます。
- No regular refresh
- 選択した期間に対応するパラメーターを指定して、リセットスケジュールを設定します。

アイテムの表示期間制限を設定する(任意):
- Add specific display period セクションでトグルをオンにします。
- タイムゾーン、開始日時、終了日時を指定します。
表示終了日時を設定しない場合は、No end date トグルをオンにします。

- 次のいずれかの方法で属性を設定します(任意):

- 有料アイテムをランダム報酬(例:ルートボックスやガチャ)の仕組みで使用する場合は、Mark as paid randomized reward のトグルをオンにします。
Create をクリックします。
表示されたウィンドウで、アイテムのステータス を選択し、Continue をクリックします。

作成したアイテムは All items セクションに表示されます。
既存のアイテムの制限を設定または更新するには:
- アカウントでプロジェクトを開き、Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、Items catalog > All items > Virtual items セクションに移動します。
アカウントで設定と更新
使用回数が制限されたアイテムを作成するには:
- パブリッシャーアカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- アカウントでプロジェクトを開き、 Items catalog > All items > Virtual items セクションに移動します。
- モバイルゲーム向けのアカウントでプロジェクトを開き、 Catalog セクションに移動します。
- Create manually をクリックし、ドロップダウンリストから Virtual item を選択します。
- General settings セクションで、次を指定します:
- SKU
- アイテムを属させるグループ(複数可、任意)
- 名前
- 短い説明
- 詳細説明 — 追加する場合は対応するトグルをオン(任意)

- Media セクションで、画像または動画を 1 件以上アップロードします(任意)。デバイスから直接、またはリンク経由で追加できます。エクソーラのサイトビルダーで作成したストアでは、すべてのアイテムカードに Main としてマークされたファイルが表示され、残りのファイルはメディアギャラリー付きのアイテムカードでのみ表示されます。Main としてマークされたファイルは、カタログ取得 API コールのレスポンスでも返されます。

- Price settings セクションで、価格を設定するか無料アイテムを作成します:
- 価格を設定するには、Paid item を選択し、Real currency prices および/または Virtual currency prices のトグルをオンにして、価格を指定します。必要に応じて、地域別価格を設定。
- 無料アイテムを作成するには、Free item を選択します。
アイテムには複数の実際通貨および仮想通貨で価格を設定できます。この場合、種類ごとにデフォルト通貨を指定する必要があります。実際通貨から1つ、仮想通貨から1つを選択します。
仮想通貨での価格は、プロジェクト内でその仮想通貨が既に作成されている場合にのみ指定できます。

- 購入可能なアイテム数を制限するには:
- Limits セクションでトグルをオンにし、数量を指定します。
- 制限のリセット頻度を設定します。ドロップダウンリストから期間を選択します:
- Daily
- Weekly
- Monthly
- Custom interval。間隔はストアでのアイテムの表示開始日時から計算されます。
- No regular refresh
- 選択した期間に対応するパラメーターを指定して、リセットスケジュールを設定します。

アイテムの表示期間制限を設定する(任意):
- Add specific display period セクションでトグルをオンにします。
- タイムゾーン、開始日時、終了日時を指定します。
表示終了日時を設定しない場合は、No end date トグルをオンにします。

- 次のいずれかの方法で属性を設定します(任意):

- 有料アイテムをランダム報酬(例:ルートボックスやガチャ)の仕組みで使用する場合は、Mark as paid randomized reward のトグルをオンにします。
Create をクリックします。
表示されたウィンドウで、アイテムのステータス を選択し、Continue をクリックします。

作成したアイテムは All items セクションに表示されます。
既存のアイテムの制限を設定または更新するには:
- モバイルゲーム用のアカウントでプロジェクトを開き、Catalog > Virtual items セクションに移動します。
アイテムを含むグループを開きます。
アイテムの行で ••• をクリックし、ドロップダウンリストから Edit を選択します。
Limits for single user セクションで、制限を設定し、または制限のリセット頻度を選択し、時刻とタイムゾーンを指定します。
- Save changes をクリックします。
APIコールで設定と更新
API経由で購入制限を設定するには、以下のメソッドでlimitsオブジェクトを使用してください:
日次、週次、または月次のリフレッシュを設定するには、limits.recurrent_scheduleオブジェクトを渡してください。
制限のリフレッシュ期間が設定されている場合、購入制限に達した後にアイテムをカタログに表示し続けるかどうかを制御できます。これを行うには、“limits.per_user.limit_exceeded_visibility”: “show” パラメータを渡してください。
定期的なリフレッシュが設定されていない場合、パラメータの値に関わらず、制限に達した時点でアイテムはカタログから非表示になります。
APIで制限を更新または管理するには、制限メソッドグループの管理サブセクションにあるメソッドを使用してください。
| 機能 | APIコール |
|---|---|
| 指定したアイテムの制限を、すべてのユーザーまたは特定ユーザー向けにリフレッシュ | Refresh purchase limit. |
| 指定ユーザーのすべてのアイテムの購入制限をリフレッシュ | Refresh all purchase limits for specified user. |
| 指定ユーザーの特定アイテムの購入上限を変更 | Set number of items available to specified user. |
| 指定ユーザーに対して設定されている特定アイテムの制限情報を取得 | Get number of items available to specified user. |
| 指定ユーザーが購入可能な数量を増やす | Increase number of items available to specified user. |
| 指定ユーザーが購入可能な数量を減らす | Decrease number of items available to specified user. |
アイテムカタログでの制限の表示
アイテム販売の制限は、サイトビルダー または API のいずれで実装しているかに応じて、カタログに表示されます。
サイトビルダーで表示
サイトビルダーを使用している場合、制限は自動的に表示されます。アイテムカードには、ユーザーが利用可能なアイテム数のカウンターが表示されます。
API経由で制限情報を取得
カタログがAPIを使用して実装されている場合、制限情報は以下のカタログ関連APIコールのitems.limits配列で返されます:
- Get virtual items list
- Get virtual currency list
- Get virtual currency packages list
- Get bundles list
- Get games list
ユーザーが購入制限に達したアイテムは、can_be_bought = falseとして返されます。
必要に応じて、これらの制限を更新できます。
このデータは、カタログで制限を表示するために使用できます。たとえば、購入可能なアイテムの最大数を表示する場合などです。
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。