# IAP プロダクトの導入

> Learn how in-app purchase products were implemented for the Unity Distribution Portal, which shut down in February 2025.

| **重要**                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Unity Distribution Portal (UDP) は、2025 年 2 月 17 日に閉鎖されます。UDP のウェブコンソールとサービスへのアクセスは、この日に完全に無効になります。キーストアをダウンロードする方法、およびゲームをアプリストアに直接再公開する方法については、[UDP 概要](https://api-udp.unity.com/overview) ページを参照してください。アカウントについて質問がある場合は、[Unity カスタマーサポート](https://support.unity.com/hc/en-us/requests/new?ticket_form_id=360000323692) にチケットを提出してください。 |

推奨されるベストプラクティスは、UDP コンソールで IAP (アプリ内課金) プロダクトを追加および管理することです。UDP コンソールの [IAP カタログ](/engine/6000.0/manual/unity-services/udp.md#iap-catalog) は、ストアのバックエンドシステムに提出する情報の信頼できる情報源です。さらに、UDP コンソールを使って、以下を行うことができます。

* [複数の IAP 価格と通貨の管理](#manage)
* [複数の言語での説明を追加](#edit)
* [CSV ファイルを使ってアイテムを一括アップロード](#bulk) (複数の通貨と言語をサポート)

**ノート**: UDP パッケージのみを使用している場合でも、少なくとも 1 つの IAP アイテムを Unity エディターで作成して、UDP コンソールと正しく同期できることをテストする必要があります。Unity IAP パッケージを使用している場合 (コードを使わない実装)、Unity エディターで各 IAP アイテムを追加し、それらすべてを UDP コンソールにアップロードする必要があります。Unity IAP パッケージを使用して、コードで IAP を実装した場合は、UDP コンソールで IAP アイテムを作成してください。

ゲームクライアントで IAP カタログを保存している場合、UDP は Unity エディターと UDP コンソール間で IAP カタログの同期を維持します。

## UDP コンソールでのアプリ内課金の管理

[UDP コンソール](https://distribute.dashboard.unity.com/) で、My Games ページからゲームにアクセスします。Game Info ページで、**EDIT INFO** ボタンを選択して編集モードにします。変更を保存するには、**SAVE** を選択します。変更を破棄するには、**CANCEL** を選択します。このセクションでは、UDP コンソールから IAP プロダクトを編集、作成、削除する方法について説明します。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/UDPManagingGame_07.png)

### 新しい IAP アイテムの作成

UDP コンソールで新しい IAP アイテムを作成するには、以下を行います。

1. Game Information ページの **EDIT INFO** を選択します。

2. **Add Item** を選択し、新しいアイテムを作成します。

3. [プロダクト情報](/engine/6000.0/manual/unity-services/udp/reference.md#iap) を指定して保存します。

   1. アプリストアで有効であるように、Product ID の要件に従います。
   2. ゲームで定義した IAP プロダクトに、IAP カタログで設定したものと同じ **Product ID** を使用してください。

4. **Manage amounts and currencies** を選択して、以下を行います。

   1. IAP 価格を USD (米ドル) から他の通貨に変換します。
   2. これらの通貨での価格を調整します。

5. **SAVE** を選択して変更を保存します。

**ノート**: 作成する IAP アイテムが多数ある場合は、[IAP 一括インポート](#bulk) 機能を使用して、ローカライズされた説明や複数の通貨での価格設定など、すべての IAP アイテムを一度に作成することを検討してください。

UDP パッケージを使用する場合、コンソールに追加した新しい IAP アイテムはすべて Unity プロジェクトに同期されます。それらのためにゲームをリビルドする必要はありません。

### IAP の説明を編集

IAP の説明を編集するには、以下の手順で行ってください。

1. Game Information ページの **EDIT INFO** を選択します。

2. ドロップダウン言語セレクターを使用して、説明を編集する言語を選択します。

3. In-App Purchases セクションで、鉛筆アイコンを選択して既存の IAP アイテムを編集します。

4. 以下の IAP アイテム情報を編集します。

   1. **Product Name** (IAP アイテムの名前)
   2. **Description** (IAP アイテムの簡潔な説明)

5. **SAVE** を選択して変更を保存します。

**ノート**: 上の手順では、選択した言語の IAP アイテム情報のみを編集します。サポートする IAP アイテムと言語が多数ある場合は、[IAP 一括インポート](#bulk) を使用してこれらの情報をインポートすることを検討してください。

### IAP 価格と通貨の管理

1. Game Information ページの **EDIT INFO** を選択します。

2. IAP アイテムの **Manage amounts and currencies** を選択して、以下を行います。

   1. IAP 価格を変更します。
   2. IAP 価格を USD (米ドル) から他の通貨に変換します。
   3. これらの通貨での価格を調整します。

3. **SAVE** を選択して変更を保存します。

**ヒント**: お気に入りの通貨を設定するには、通貨コードの横にあるスターアイコンを選択します。これにより、その通貨がリストの一番上に固定されます。固定を解除するには、スターの選択を解除します。

**ノート**: サポートする IAP アイテムと通貨が多数ある場合は、**Convert** 機能を使用すると、各 IAP アイテムに設定された米ドル額に基づいてすべての IAP 価格をグローバル通貨に自動的に変換できます。これにより、以前設定した各国の価格が上書きされます。

または、[IAP 一括インポート](#bulk) を使用して、すべての情報を一度にインポートします。

### IAP アイテムの削除

1. Game Information ページの **EDIT INFO** を選択します。
2. IAP アイテムを削除するには、ゴミ箱アイコンを選択します。
3. **SAVE** を選択して変更を保存します。

### IAP アイテムの一括インポート

1. Game Information ページの **EDIT INFO** を選択します。
2. In-Application Purchases ページの右上にある **IMPORT CATALOG** を選択します。

   この機能の詳しい説明は、IAP 一括インポートを参照してください。
3. **SAVE** を選択して変更を保存します。

### Google Play からのゲーム情報のインポート

すでにゲームを Google Play で公開している場合は、ゲームの Google Play の URL を使用して基本情報をインポートできます。

1. **Import from Google Play** を選択します。
2. ゲームの Google Play URL を入力フィールドに貼り付けます。
3. 具体的にインポートする言語を指定するには、言語のサフィックスを含む Google Play URL を使用します。例えば、イタリア語の場合は `&hl=it` を使用します。

   Google Play URL に言語のサフィックスが含まれていない場合、UDP は (UDP コンソールが Google Play で設定されている場合)、現在 UDP コンソールで編集している言語の情報を取得します。
4. **Import** を選択します。
5. コンピューターの IP アドレスによって提供する言語が決定される場合があるため、結果を再確認してください。

## IAP 一括インポート

IAP 一括インポート機能を使用すると、IAP アイテムが多数ある場合に、IAP カタログを簡単に管理できます。これにより、標準の UDP 形式と Google Play 形式の CSV ファイルを、複数の通貨での価格や複数の言語での説明など、すべての IAP プロダクトの詳細とともに UDP コンソールにアップロードできます。

Unity は、サンドボックス環境で IAP アイテムを購入できることを確認するために、テスト目的で Unity エディターに IAP アイテムを追加することをお勧めします。

**ノート**: CSV ファイルに複数の言語が含まれている場合は、CSV ファイルをインポートする前に [サポートされている言語を追加](/engine/6000.0/manual/unity-services/udp/distribution.md#languages) してください。

このセクションでは、CSV を使って IAP アイテムを一括でインポートする方法について説明します。

### 実装のための要件

#### 新しい IAP プロダクトを加える

UDP が以下の方法で実装されている場合のみ、IAP 一括インポートを使って新しい IAP プロダクトを加えてください。

* UDP パッケージ使用
* Unity IAP (コードによる実装) を使用

Unity は、サンドボックス環境で IAP アイテムを購入できることを確認するために、テスト目的で Unity エディターに IAP アイテムを追加することをお勧めします。

#### ローカライズされた説明と価格を加える

すべての実装方法で、IAP 一括インポートを使用して、より多くの言語での説明とより多くの通貨での価格を既存の IAP プロダクトに割り当てることができます。

#### UDP パッケージを使用

Bulk IAP Import を使用すると、ゲームを再ビルドしなくても、ゲームの IAP カタログをすべて再定義できます。

正常に機能する UDP 実装が必要なだけです。

#### Unity IAP (コードによる実装) を使用

Unity IAP では、IAP カタログの同期はエディターから UDP コンソールにのみ行えます。

ゲームの IAP カタログを IAP 一括アップロードを使って UDP コンソールにアップロードする場合は、ゲームクライアントのデフォルトの IAP カタログからではなく、UDP コンソールから IAP プロダクト情報を取得するようにゲームを設定する必要があります。

ゲームが UDP コンソールから IAP カタログを取得できるようにするには、コードで IAP プロダクトの取得メソッドを呼び出さないでください。

詳細については、[IAP インベントリのクエリ](https://docs.unity3d.com/Packages/com.unity.purchasing.udp@latest/index.html?subfolder=/manual/games-with-iap.html%23query-iap) を参照してください。

### CSV テンプレートのダウンロード

UDP には、IAP プロダクトの一括インポートに利用できる CSV テンプレートがあります。テンプレートは、CSV ファイル用の標準 UDP 形式です。

1. **Game Information** ページの **EDIT INFO** を選択します。
2. **In-App Purchases** ページに移動します。
3. **IMPORT CATALOG** を選択します。
4. **Download Template** を選択します。

### CSV ファイルの記入

CSV ファイルでは、カンマ (,) とセミコロン (;) を使用してデータ値を区切ります。カンマは主データ値を区切り、セミコロンは補足的な値を区切ります。

各 IAP アイテムのすべてのデータが、CSV ファイル内の 1 行に表示される必要があります。

提供されたテンプレートどおりの [形式](/engine/6000.0/manual/unity-services/udp/reference.md#csv) でデータを入力する必要があります。UDP コンソールは、無効な価格構文や欠落している言語などのエラーを含むファイルをアップロードすると、エラーメッセージを表示します。

### CVS ファイルのアップロード

1. **Game Information** ページの **EDIT INFO** を選択します。
2. **In-App Purchases** セクションに移動します。
3. **IMPORT CATALOG** を選択します。
4. **Upload CSV** を選択するか、CSV ファイルを選択フィールドにドラッグアンドドロップします。
5. **IMPORT** を選択して、IAP カタログを UDP コンソールにアップロードします。

**注意**CSV ファイルをアップロードすると、このリビジョンの IAP カタログが完全に上書きされます。UDP コンソールは、CSV ファイルに含まれる情報のみを使用します。以前に UDP コンソールを通して入力したその他の IAP 情報はすべて失われます。

### CSV ファイルのエクスポート

既存の IAP カタログを再利用、または修正するには、以下を行います。

1. Game Information ページの **EDIT INFO** を選択します。
2. In-App Purchases セクションに移動します。
3. **EXPORT CATALOG** を選択します。

   これによって、既存の IAP カタログは標準 UDP 形式の CSV ファイルとしてエクスポートされます。
4. CSV ファイルを修正します。
5. CSV ファイルをアップロードします。

**EXPORT CATALOG** ボタンは、IAP カタログの中に IAP プロダクトがあり、かつ編集モードであるときにのみ表示されます。下の画像では、In-App Purchases セクションのこのボタンが表示されています。


**Frame:**
![](/api/media?file=/engine/6000.0/media/images/UDPBulkImport_06.png)

## Google Play 形式から IAP プロダクトをインポート

UDP は、Google Play 形式の CSV ファイルもサポートしています。

Google Play 形式の CSV ファイルを使って IAP プロダクトをインポートするには、以下を行います。

1. **Game Information** ページの **EDIT INFO** を選択します。
2. **In-App Purchases** セクションに移動します。
3. **IMPORT CATALOG** をクリックします。
4. **CSV file in Google Play format** チェックボックスを選択します。
5. Upload CSV を選択するか、CSV ファイルを選択フィールドにドラッグアンドドロップします。
   1. **Google Play default currency** フィールドで、ゲームのデフォルト通貨を選択します。
6. **Import** を選択して、IAP カタログを UDP コンソールにアップロードします。

### 価格設定

Google Play は国ごとに価格を設定し、UDP は通貨ごとに価格を設定します。したがって、インポートは国を通貨にマップします。ある IAP プロダクトに対して、同じ通貨を使用して国ごとに異なる価格を設定している場合 (例えば、ヨーロッパ諸国ではユーロ、EUR)、UDP は通貨リストの最初の国を使用します。USD (米ドル) でリストされている国が複数ある場合は、アメリカ合衆国が使用されます。

UDP は Google Play の価格設定テンプレートをサポートしていません。そのため、この設定は無視されます。UDP は、CSV ファイルで提供される現地価格のみを使用します。

### デフォルト通貨

UDP はデフォルトの通貨として USD (米ドル) を使用します。Google Play に米ドルの価格が設定されていない場合、UDP は Google Play のデフォルトの価格と通貨を米ドルに変換し、これを UDP のデフォルト価格として使用します。

CSV ファイルに設定されている現地価格は、それぞれの通貨で維持されます。

CSV ファイルで明示的に設定されていない国の場合、UDP は Google Play のデフォルトの価格と通貨をそれぞれの通貨に変換します。

### IAP プロダクト

IAP プロダクトのタイプ (消費型/非消費型) は、CSV ファイルから判別できません。各 IAP プロダクトのタイプを UDP に伝える必要があります。

UDP は自動翻訳をサポートしていません。そのため、この設定は無視されます。UDP は、CSV ファイルで提供されるローカライズされた説明のみを使用します。
