---
title: "仮想通貨"
description: "Adaptyでアプリ内通貨を定義し、プロダクトにリンクして自動的にクレジットを付与し、すべてのユーザーの残高を追跡します。"
---

<CustomDocCardList ids={['virtual-currency-quickstart', 'create-virtual-currency', 'virtual-currency-balance']} />

ユーザーがプロダクトを購入したりサブスクリプションを更新したりしたときに、AIトークン、クレジット、コインなどのバーチャル通貨を付与できます。通貨を一度定義してプロダクトに紐付けると、Adaptyが自動的に各ユーザーへ付与し、残高を管理します。アプリは[サーバーサイドAPI](getting-started-with-server-side-api)を通じてその残高を読み取ったり消費したりできます（たとえば、生成ごとにトークンを消費するといった用途に活用できます）。

## 仕組み \{#how-it-works\}

1. [仮想通貨を作成する](create-virtual-currency): **Products** を開き、**Virtual currency** タブをクリックします。**New virtual currency** をクリックし、コード、名前、および任意の説明を入力して通貨を定義します。
2. **通貨をプロダクトに紐付ける**: 通貨を買い切りまたはサブスクリプションのプロダクトにマッピングし、各購入で付与されるクレジット数を設定します。
3. **クレジットは自動的に付与される**: ユーザーが紐付けられた買い切りプロダクトを購入するか、紐付けられたサブスクリプションが更新されると、Adapty は設定されたクレジットを残高に追加します。
4. **残高を読み取り、消費する**: アプリは各ユーザーの残高を読み取り、サーバーサイド API を通じてクレジットを付与または消費します。
5. **すべての変更を追跡する**: 残高の変更はすべて[ユーザーのプロファイル](virtual-currency-balance)に一覧表示されます。

通貨の設定からAPIを使ったクレジット消費まで、すべての手順を確認するには、[バーチャル通貨クイックスタート](virtual-currency-quickstart)を参照してください。

## ユースケース \{#use-cases\}

| アプリの種類 | バーチャル通貨の活用方法 |
|----------|-------------------------------|
| **AI アプリ**（画像・動画・テキスト生成） | 生成ごとにクレジットを消費。サブスクリプションに毎月のクレジット付与を含め、クレジットパックを買い切り商品として販売する。 |
| **ショートドラマ・動画アプリ** | エピソードのアンロックにコインを消費。サブスクライバーには定期的なコイン付与を行い、コインパックを買い切り商品として販売する。 |
| **語学学習・教育** | サーバーサイド API を通じて無料ユーザーにハートやライフの限定付与を行う。有料プランではより多く付与するか、残高チェック自体をスキップする。 |
| **モバイルゲーム** | ソフト通貨とハード通貨を併用：サーバーサイド API でゲームプレイ報酬としてゴールドを付与し、ジェムは課金販売し、単一のアトミックトランザクションで相互交換できるようにする。 |
| **生産性アプリ** | OCR やエクスポートなどコストの高い操作をクレジットで計量。無料ユーザーには少量を付与し、サブスクリプションではより多く付与し、まとめ作業向けにクレジットパックを販売する。 |

:::tip
サブスクリプションの利用枠には、[クレジットの有効期限](create-virtual-currency#link-products)を有効にしてください。未使用のクレジットが更新のたびにリセットされることで、利用枠がサブスクリプションを継続する動機になり、ヘビーユーザーはストックを使い切るのではなく、クレジットパックを購入するようになります。
:::

## 制限事項 \{#limitations\}

- **クロスデバイスのアクセスには識別が必要**: 残高は1つのプロファイルに紐づいています。匿名ユーザーは残高を獲得したデバイスにのみ残高が保持されるため、すべてのデバイスで残高を利用できるようにするにはユーザーを識別してください。詳しくは[残高、プロファイル、デバイス](virtual-currency-balance#balances-profiles-and-devices)を参照してください。
- **サーバーサイド専用**: 残高の読み取りや消費を行うSDKメソッドはまだ存在しないため、アプリにはバックエンドが必要です。バックエンドはサーバーサイドAPIを通じて残高の読み取りやクレジットの付与・消費を行います。
- **アプリごとに最大20通貨**: 1つのアプリに最大20種類のバーチャル通貨を作成できます。