仮想アイテム
どのように動作するか
仮想アイテムとは、実際通貨や仮想通貨で販売できるゲーム内コンテンツのことです。
主な機能:
- 実際通貨と仮想通貨で価格を設定します。
- いくつかのレベルのカタログを構成します。
- ユーザーの通貨と国を自動的に決定します。
- 購入できるアイテム数を制限します。
- ストア内のアイテムの表示時間を制限します。
- 無料アイテム。
価格設定の特徴:
- 1つのアイテムには、実際通貨と仮想通貨の両方の価格を持つことができます。
- いくつかの実在通貨または仮想通貨で価格を設定することができます。この場合、デフォルトの通貨を選択していることを確認してください。
- 実際通貨や仮想通貨で価格を指定せずにアイテムを作成することができます。そのようなアイテムがストアに表示された場合、ユーザーは無料で利用できるようになります。
価格構成の制限:
- 価格の値がゼロのアイテムは作成できません。
仮想アイテムには3種類あります:
消耗品の仮想アイテム
消耗品とは、大量に持っていて何度も購入できるインベントリ内のアイテムのことです。ユーザーが消費するとその量は減ります。
主な特徴:
- インベントリ内のアイテムの在庫を補充します。
- ユーザーインベントリ内に同じアイテムのインスタンスを多数保存します。
- クライアント側から消費することができます。
例:手榴弾、弾丸など。
非消耗品の仮想アイテム
非消耗品アイテムとは、インベントリ内のアイテムであり、1回のみ発生または購入できます。
主な特徴:
- ユーザーは、インベントリにこのアイテムを1つだけ含めることができます。
- クライアント側で消費されてインベントリから削除することはできません。サーバーメソッドでのみ撤回することができます。
例:位置情報、ステータス、化粧品、プリインストールされている
期間限定アイテム
期間限定アイテムは、1回限りの購入です。ユーザーは、有効期限が切れたときに再度購入する必要があります。
主な特徴:
- 有効期限が切れると無効になります。
- ユーザーは、このサブスクリプションを有効化するために再度このサブスクリプションを購入します。
例:
詳細については、期間限定アイテムレシピを参照してください。
購入できるアイテム数を制限する
アイテム購入の制限をすることができます。例えば、以下の制限することができます:
- 1ユーザーあたりのアイテム数
- 一度しか購入できないウェルカムアイテム
ユーザーが指定した上限に達している場合、アイテムはカタログに表示されません。
ユーザーが利用できる最大アイテム数および残りのアイテム数を表示することができます。
アドミンページでアイテムを作成する時に購入制限を設定するには、1人のユーザーがこのアイテムを購入できる回数を制限するのトグルをオンに切り替え、アイテム購入可能回数を指定します。
アイテムに関する情報を取得するには、仮想アイテム&通貨メソッドグループからカタログサブセクションのメソッドを使用します。
応答では、仮想アイテムに関する情報のほか、以下の情報を受け取ることができます:
- 1ユーザーが購入できる最大アイテム数
- ユーザーが購入可能なアイテム数の残数
制限を設定または更新する方法の詳細については、ユーザーの制限に関する説明を参照してください。
- json
{
"items": [
{
"sku": "big_rocket",
"name": "Big Rocket",
"groups": [
{
"external_id": "accessory",
"name": "Accessory"
}
],
"attributes": [
{
"external_id": "stack_size",
"name": "Stack size",
"values": [
{
"external_id": "size_e3364991f92e751689a68b96598a5a5a84010b85",
"value": "5"
}
]
}
],
"type": "virtual_good",
"description": "Big Rocket - description",
"image_url": "https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png",
"is_free": false,
"price": {
"amount": "100.99",
"amount_without_discount": "100.99",
"currency": "USD"
},
"virtual_prices": [
{
"amount": 100,
"sku": "vc_test",
"is_default": true,
"amount_without_discount": 100,
"image_url": "http://image.png",
"name": "SHOTGUN FOR TRUE RAIDERS",
"type": "virtual_currency",
"description": "description"
}
],
"can_be_bought": true,
"inventory_options": {
"consumable": {
"usages_count": 1
},
"expiration_period": {
"type": "day",
"value": 1
}
},
"virtual_item_type": "non_renewing_subscription",
"limits": {
"per_user": {
"total": 5,
"available": 5
},
"per_item": null
},
}
エクソーラは、制限を超えないようにし、ユーザーが設定された上限を超えてアイテムを購入することを防ぎます。
決済インターフェースを開き、アイテムの代金を支払うと、そのアイテムの未払い注文はすべて無効となります。
例:ユーザーは、アイテムが購入されるまで、いくつかのブラウザータブで購入制限のあるアイテムの決済フォームを開くことができます。これにより、自動的に同じアイテムの注文が複数作成されます。1つのタブでアイテムを購入した後、エクソーラは同じアイテムの未払い注文をすべて無効にします。
ストア内のアイテムの表示時間を制限する
ストア内のアイテムの表示期間を次のように設定できます。- ホリデーセール中など、特定の時間帯にカタログの関連性を維持する
- カタログに表示せずに事前にアイテムを作成する
- アイテムの横にタイマーを表示して、ユーザーがアイテムを購入するように動機付ける
periods[0].date_from
はアイテムの表示期間の開始日時のYYYY-MM-DDThh:mm:ss±TMZ
形式です。TMZ
はhh:mm
GMT形式のタイムゾーンインジケーターです。periods[0].date_until
はアイテムの表示期間の終了日時のYYYY-MM-DDThh:mm:ss±TMZ
形式です。TMZ
はhh:mm
GMT形式のタイムゾーンインジケーターです。アイテムの表示期間の終了を示さないようにするには、null
を渡します。
ストア内のアイテムを表示する期間を複数設定できます。これを行うには、仮想アイテムを作成または仮想アイテムを更新メソッドで、すべての期間の開始日と終了日を含むオブジェクトの配列を渡します。
例:
"periods": [
{
"date_from": "2022-06-10T14:00:00+03:00",
"date_until": "2022-06-30T14:00:00+03:00"
},
{
"date_from": "2022-07-10T14:00:00+03:00",
"date_until": "2022-07-30T14:00:00+03:00"
},
{
"date_from": "2022-08-10T14:00:00+03:00",
"date_until": "2022-08-30T14:00:00+03:00"
}
]
使用に適した方
- ゲームに仮想通貨を追加し、この通貨で仮想アイテムを販売することで、ゲームエコノミーやマネタイズを設定したいパートナー。
- インゲームストアを統合し、新しいタイプの製品である仮想アイテムを設定したいパートナー向けです。
入手方法
統合フロー
仮想アイテムと仮想アイテムのグループを構成する
仮想アイテムを設定するには、仮想アイテムのグループを設定する必要があります。グループを設定することで、マルチレベルのカタログを持つことができます。指定されたグループを持たないアイテムは、
仮想アイテムや仮想アイテムのグループを設定するには、以下のことができます:
アドミンページ経由の設定
APIコールによる設定
仮想アイテムをセットアップするには、仮想アイテム&通貨グループの管理者サブセクションからのAPIコールを使用します。APIコールには基本的な認証が使用されます。Authorization:Basic <your_authorization_basic_key>
を渡し、そこで、<your_authorization_basic_key>
はマーチャントID:APIキーペア、はBase64規格に基づいてエンコードされています。アドミンページに移動して、以下のパラメータを見つかります:
- マーチャントIDは以下の場所で表示されます:
- 会社設定 > 会社セクション。
- アドミンページページのブラウザーアドレスバーのURL。URLは以下の形式があります:
https://publisher.xsolla.com/<merchant ID>/<Publisher Account section>
。
- APIキーは、作成時に一度だけアドミンページに表示され、お客様側で保存する必要があります。次のセクションで新しいキーを作成できます:
- 会社設定 > APIキー
- プロジェクト設定 > APIキー
APIキーの操作については、APIリファレンスを参照してください。
キーに関する推奨事項:
- 生成されたAPIキーは、お客様側で保存してください。APIキーは、アドミンページで作成時に一度だけ表示することができます。
- APIキーは秘密にしておいてください。APIキーは、お客様の個人アカウントとアドミンページのプロジェクトへのアクセスを提供します。
- APIキーはサーバーに保存する必要があり、決してバイナリやフロントエンドに保存してはいけません。
必要なAPIコールにproject_id
パスパラメータが含まれていない場合は、会社のすべてのプロジェクトで有効なAPIキーを使用して認証を設定します。
クライアント側で仮想アイテムのカタログを取得するには、仮想アイテム&通貨グループのカタログサブセクションからのAPIコールを使用します。これらの呼び出しは基本的な認証を必要としません。
グループに分かれていないアイテムの完全なリストを取得するには、仮想アイテムリストを取得するAPIコールを使用します。特定のグループからアイテムのリストを取得するには、指定したグループからアイテムリストを取得するコールにexternal_id
パラメータを渡します。
地域制限と地域価格を設定する
仮想アイテムの地域制限を設定するには、アイテムが利用可能な地域の識別子を持つオブジェクトの配列を仮想アイテムを作成するまたは仮想アイテムを更新するコールに渡します。- http
"regions": [{
“id”: “123”
}, {
“id”: “456”
}
]
仮想アイテムの地域価格を設定するには、地域価格を設定したオブジェクトの配列を仮想アイテムを作成するまたは仮想アイテムを更新するコールに渡します。
- http
"regional_prices": [{
“region_id”: “123”,
“country_iso”: “CHN”,
“amount”: 40,
“currency_iso”: “CNY”,
“is_default”: true,
“is_enabled”: true
}
]
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。