バンドル

どのように動作するか

バンドルとは、複数のアイテムを1つにまとめて販売するセットのことです。

主な機能:

  • さまざまなタイプのアイテムをバンドルに追加します:
    • 仮想通貨(プラットフォームに依存する通貨を含む)
    • 仮想通貨パッケージ
    • 事前に選択されたプラットフォームのゲームキー
    • 期間限定アイテムを含む仮想アイテム
    • バンドル
  • 実際通貨と仮想通貨のバンドル価格を設定します。複数の実際通貨または仮想通貨で価格を設定できます。この場合、必ずデフォルト通貨を選択してください。
  • 無料バンドル
  • 購入できるバンドル数を制限します。
  • ストアでのバンドルの表示時間を制限します

お知らせ

地域価格を含む実際通貨での価格設定に関する詳細情報は、ドキュメント記載されています。

また、特定の地域で入手可能なバンドルを制限することもできます。地域別販売制限に関する詳細情報は、ドキュメントをご覧ください。

アイテムタイプと連携設定に応じて、バンドルは以下のいずれかの方法でユーザーに配信されます:
  • PlayFab経由 – 仮想通貨、仮想アイテム、期間限定アイテム、バンドル(PlayFab統合が有効な場合)。
  • メール経由 – ゲームキーの場合。
  • 注文支払い完了ウェブフックからのデータを使って、独自の配信システムで。このメソッドは、以下の場合、すべてのタイプのアイテムに適用されます:
    • PlayFabインテグレーションは使用しない場合。
    • ユーザーへのアイテム配送を自分のサーバーで管理したい場合。
  1. 購入時、バンドルコンテンツ包含が無効になっていない場合、バンドルに含まれるすべてのアイテムは個別のアイテムのリストとしてitems配列で渡されます。バンドルが別のバンドルを含む場合、その内容も個別のアイテムとして渡されます。

バンドルが払い戻された場合(例:取引キャンセル)、注文のキャンセルウェブフックが送信されます。ウェブフックのデータを使って、購入されたアイテムをユーザーのアカウントから差し引いてください。

制限:

  • 同じバンドルをバンドルに追加することはできません。
  • 空のバンドルは作成できません。
  • バンドル販売は、販売するキーがなくなると一時停止され、これらのキーはバンドルに含まれます。

購入できるバンドル数を制限する

バンドル購入の制限をすることができます。例えば、以下の制限することができます:

  • 1ユーザーあたりのバンドル数
  • 一度しか購入できないウェルカムバンドル

ユーザーが指定された上限に達している場合、バンドルはカタログに表示されません。バンドルに購入制限のある仮想通貨パッケージやアイテムが含まれていて、ユーザーがすでに許容量に達している場合、そのバンドルはカタログに表示されません。

ユーザーが利用できる最大バンドル数および残りのバンドル数を表示することができます。

パブリッシャーアカウントでバンドルを作成する時に購入制限を設定するには、1人のユーザーがこのバンドルを購入できる回数を制限するのトグルをオンに切り替え、バンドル購入可能回数を指定します。

バンドルに関する情報を取得するには、バンドルメソッドグループからカタログサブセクションのメソッドを使用します。

応答では、バンドルに関する情報のほか、以下の情報を受け取ることができます:

  • 1ユーザーが購入できる最大バンドル数
  • ユーザーが購入可能なバンドル数の残数

制限を設定または更新する方法の詳細については、ユーザーの制限に関する説明を参照してください。

お知らせ

未認証のユーザーに対しては、購入可能なバンドルの最大数が常に表示されます。ユーザーに残りのバンドル数を表示するには(現在の制限に従う)、バンドルメソッドグループのカタログサブセクションのメソッドを使用してバンドルカタログを要求するときにユーザーの認証データを渡します。

ユーザーが利用できるバンドル数を正しく表示するには、認証を設定する必要があります。

ユーザー属性を含むウェブフックへの応答の例:
Copy
Full screen
Small screen
 1{
 2  "items": [
 3    {
 4      "sku": "kg_1",
 5      "name": "kg_10.00_bundle",
 6      "type": "bundle",
 7      "description": "pricePoint_44056_1",
 8      "image_url": null,
 9      "long_description": null,
10      "attributes": {
11        "external_id": "genre",
12        "name": "Genre",
13        "values": [
14          {
15            "external_id": "genre_e3364991f92e751689a68b96598a5a5a84010b85",
16            "value": "Casual"
17          },
18          {
19            "external_id": "genre_eba07bfd0f982940773cba3744d97264dd58acd7",
20            "value": "Strategy"
21          },
22          {
23            "external_id": "genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8",
24            "value": "Mobile"
25          }
26        ]
27      },
28      "is_free": false,
29      "order": 999,
30      "groups": [],
31      "price": {
32        "amount": 9.99,
33        "currency": "USD",
34        "amount_without_discount": 9.99
35      },
36      "total_content_price": {
37        "amount": 10.99,
38        "currency": "USD",
39        "amount_without_discount": 10.99
40      },
41      "media_list": [],
42      "virtual_prices": [],
43      "can_be_bought": true,
44      "bundle_type": "standard",
45      "limits": {
46        "$ref": "./Catalog_item_limits.yaml"
47      },
48      "content": [
49        {
50          "sku": "big_rocket",
51          "name": "Big Rocket",
52          "description": "Big Rocket - short description.",
53          "image_url": "https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png",
54          "type": "virtual_currency",
55          "quantity": 100,
56          "virtual_item_type": "non_consumable",
57          "attributes": {
58            "external_id": "size",
59            "name": "Size",
60            "values": [
61              {
62                "external_id": "size_e3364991f92e751689a68b96598a5a5a84010b85",
63                "value": "Large"
64              }
65            ]
66          },
67          "is_free": false,
68          "groups": [],
69          "price": {
70            "amount": 10.99,
71            "currency": "USD",
72            "amount_without_discount": 10.99
73          },
74          "virtual_prices": [],
75          "limits": {
76            "per_user": {
77              "total": 5,
78              "available": 5
79              },
80            "per_item": null
81           },
82          }
83        }
84      ]
85    }
86  ]
87}
お知らせ

エクソーラは、制限を超えないようにし、ユーザーが設定された上限を超えてバンドルを購入することを防ぎます。

決済インターフェースを開き、バンドルの代金を支払うと、そのバンドルの未払い注文はすべて無効となります。

:ユーザーは、バンドルが購入されるまで、いくつかのブラウザータブで購入制限のあるバンドルの決済フォームを開くことができます。これにより、自動的に同じバンドルの注文が複数作成されます。1つのタブでバンドルを購入した後、エクソーラは同じバンドルの未払い注文をすべて無効にします。

ストアでのバンドルの表示時間を制限する

ストア内のアイテムの表示期間を次のように設定できます。
  • ホリデーセール中など、特定の時間帯にカタログの関連性を維持する
  • カタログに表示せずに事前にバンドルを作成する
  • アイテムの横にタイマーを表示して、ユーザーがバンドルを購入するように動機付ける
お知らせ
サイトビルダーを使用してカタログインターフェイスを作成すると、タイマーが自動的に表示されます。独自のインターフェースでカタログを作成するときは、タイマーを実装する必要があります。

パブリッシャーアカウントでストアにバンドルを表示する時間制限を設定するには、「期間」を選択し、タイムゾーン、期間の開始日と終了日を指定します。バンドル表示期間の終了を示さないようにするには、「終了日なし」ボックスにチェックを入れます。

API を使用してストアにバンドルを表示する時間制限を設定するには、バンドルを作成するまたはバンドルを更新するAPIコールで次のパラメータを渡します:

  • periods[0].date_fromはアイテムの表示期間の開始日時のYYYY-MM-DDThh:mm:ss±TMZ形式です。TMZhh:mm GMT形式のタイムゾーンインジケーターです。
  • periods[0].date_untilはアイテムの表示期間の終了日時のYYYY-MM-DDThh:mm:ss±TMZ形式です。TMZhh:mm GMT形式のタイムゾーンインジケーターです。アイテムの表示期間の終了を示さないようにするには、nullを渡します。

ストアにバンドルを表示する期間を複数設定できます。これを行うには、バンドルを作成するまたはバンドルを更新するメソッドで、すべての期間の開始日と終了日を含むオブジェクトの配列を渡します。

Copy
Full screen
Small screen
 1"periods": [
 2      {
 3        "date_from": "2022-06-10T14:00:00+03:00",
 4        "date_until": "2022-06-30T14:00:00+03:00"
 5      },
 6       {
 7        "date_from": "2022-07-10T14:00:00+03:00",
 8        "date_until": "2022-07-30T14:00:00+03:00"
 9      },
10       {
11        "date_from": "2022-08-10T14:00:00+03:00",
12        "date_until": "2022-08-30T14:00:00+03:00"
13      }
14]

使用に適した方

バンドルに含まれる全アイテムの初期合計よりも安い価格でセット販売を行い、売上アップや新規プレイヤー獲得に貢献したいと考えているパートナー様で。

入手方法

統合フロー

  1. バンドルをセットアップします。
  2. カタログでバンドルの取得を実装します。

バンドルをセットアップする

以下のいずれかの方法でバンドルをセットアップします:

パブリッシャーアカウント経由のセットアップ

  1. パブリッシャーアカウントでプロジェクトを開き、アイテムカタログ > バンドルセクションに移動します。
  2. +」をクリックして、ドロップダウンリストから「バンドルを作成」を選択します。
  3. 以下を追加します:
    • 画像(任意)。
    • SKU。
    • バンドルが属する1つまたは複数のグループ。
    • 名称。
    • 説明(任意)。
    • コンテンツ。
  4. バンドル価格を設定します:
    1. 価格を定義するか、無料バンドルを作成します:
      1. 無料バンドルを作成するには、「有料または無料」フィールドで、「無料バンドル」を選択します。
      2. 価格を設定するには、「有料または無料」フィールドで、「有料バンドル」を選択し、実際通貨または仮想通貨で価格を指定します。必要に応じて、地域価格を設定します。
    2. バンドルの購入制限を設定します(任意)。これを行うには、「一人のユーザーがバンドルを購入できる回数を制限する」トグルを「オン」にしてユーザーが購入できるバンドルの数を指定します。
  5. 次へ」をクリックします。
  6. ストアでバンドルの表示を設定します:
    • ステータスを「入手可能」に変更します。
    • ストアでバンドルを表示する時間制限を設定します(任意)。これを行うには「期間」タイムゾーン、期間の開始と終了を指定します。アイテム表示期間の終了を表示したくない場合は、「終了日なし」にチェックを入れてください。
  7. 次へ」をクリックします。
  8. 設定を確認して「保存」をクリックします。

APIメソッド経由のセットアップ

バンドルをセットアップするには、バンドルメソッドグループのカタログサブセクションのメソッドを使用できます。
注意
管理者」サブセクションのメソッドは、フロントエンド側のストアでカタログを構築するために作成されたものではありません。ランディングページ、ウェブストア、ゲーム内ロジックに使用してください。

バンドルにゲームキーを追加する

選択したプラットフォームのゲームキーをバンドルに追加するには、必要なプラットフォームのSKUを持つcontent配列をバンドルを作成するまたはバンドルを更新するメソッドに渡します。

Copy
Full screen
Small screen
1"content": [{
2     “sku”: “brilliant_game_sku_steam”,
3     “quantity”: 1
4  }
5]

地域制限をセットアップする

バンドルに地域制限を設定するには、サポートされているregionsのIDを持つ配列をバンドルを作成するまたはバンドルを更新するメソッドに渡します。

お知らせ
事前にプロジェクトにリージョンを設定する必要があります。これを行うには:
  • APIメソッドを使用します。
  • 個人のプロジェクトマネージャーにリクエストします。
  • cms@xsolla.comまでメールを送信します。
Copy
Full screen
Small screen
1"regions": [{
2     “id”: 123
3  }, {
4     “id”: 456
5  }
6]

地域別の価格を設定する

バンドルの地域価格を設定するには、地域価格設定を持つpricesの配列をバンドルを作成するまたはバンドルを更新するメソッドに渡します。

Copy
Full screen
Small screen
 1"prices": [
 2      {
 3        "amount": 100,
 4        "currency": "USD",
 5        "is_enabled": true,
 6        "is_default": true
 7      },
 8      {
 9        "amount": 200,
10        "currency": "CZK",
11        "country_iso": "CZ",
12        "is_enabled": false,
13        "is_default": false
14      }
15    ]

カタログでバンドルを取得する

バンドルのカタログを取得するには、バンドルメソッドグループのカタログサブセクションのメソッドを使用できます。
お知らせ
カタログサブセクションからのメソッドは、フロントエンド側のストアでカタログを作成するために作成されます。認証は必要ありません。

ウェブフックにおけるアイテム情報の構成

注文支払い完了注文のキャンセルのウェブフックで送信されるアイテムデータは、items配列を通じて設定できます。

追加パラメータの包含の有効化

以下の情報を示す追加パラメータの包含を有効にします:

  • アイテムが無料かどう(is_free
  • アイテムがボーナスかどうか(is_bonus
  • アイテムがバンドルの一部かどうか(is_bundle_content

これらのパラメータを受け取るには、ウェブフック設定に関する情報を更新するAPIコールを使用してウェブフックのバージョンを2に変更してください。バージョン1(デフォルト)では、これらのパラメータは提供されていません。

追加パラメータを含むアイテム配列の例:

Copy
Full screen
Small screen
 1
 2"items": [
 3      {
 4        "sku": "com.xsolla.item_new_1",
 5        "type": "bundle",
 6        "is_pre_order": false,
 7        "is_free": false,
 8        "is_bonus": false,
 9        "Is_bundle_content": false,
10        "quantity": 1,
11        "amount": "1000",
12        "promotions": []
13      },
14      {
15        "sku": "com.xsolla.gold_1",
16        "type": "virtual_currency",
17        "is_pre_order": false,
18        "is_free": false,
19        "is_bonus": false,
20        "is_bundle_content": true,
21        "quantity": 1500,
22        "amount": "[null]",
23        "promotions": []
24      }
25 ],

バンドルコンテンツ包含の無効化

デフォルトでは、ウェブフックはバンドルのすべてのアイテムを個々のアイテムのリストとして含めます。ウェブフックのコンテンツをリスト化せずに、バンドルそのもののみを含めるように設定することができます。

この場合、バンドルに含まれるアイテムはitems配列には含まれません。上記の配列で示されているように、バンドルの一部であるSKUcom.xsolla.gold_1のアイテムは除外されます。

バンドルコンテンツが無効になっている場合のアイテム配列の例:

Copy
Full screen
Small screen
 1
 2"items": [
 3      {
 4        "sku": "com.xsolla.item_new_1",
 5        "type": "bundle",
 6        "is_pre_order": false,
 7        "is_free": false,
 8        "is_bonus": false,
 9        "Is_bundle_content": false,
10        "quantity": 1,
11        "amount": "1000",
12        "promotions": []
13      }
14 ],

バンドルコンテンツ包含を無効にするには、カスタマーサクセスマネージャーまでお問い合わせるか、csm@xsolla.comに電子メールを送信してください。

この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
最終更新日: 2025年7月18日

誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!
フィードバックを送信できませんでした
後でもう一度お試しいただくか、doc_feedback@xsolla.comまでお問い合わせください。