ノート: スクリーンショットやメニューの選択肢は、リリースバージョンによって異なる場合があります。
ここでは、 In-App Purchasing (IAP、アプリ内課金) を有効にする方法を説明します。
Unity IAP パッケージには、コード化されたアプローチとコードを使わない方法が用意されており、以下を行うことができます。 - ユーザーがゲーム内でアイテムを購入するのを可能にします。 - ストアに接続することで、購入による収益を得ることができます。
以下は、その手順の概要です。
このゲームのアプリ内課金戦略を定義します。
プロジェクトを Unity のサービスとして設定します。
IAP をアクティベートして、自動的にパッケージをインストールします。
設定を行います。
販売したいゲーム内アイテムを作成し、カタログ化します。
Codeless IAP ボタンを使って、ユーザーにアイテムを購入する方法を提供します。ロジックが動作するようになったら、ボタンの外観をカスタマイズすることを検討してください。また、このプロセスを強化するために、リッチ API 用のスクリプトされた IAP を使用することもできます。
アプリケーションを、Google、Apple、Android などの関連アプリストアに接続します。
ストアにアイテムを加えます。
すべてをまとめます。
また、これらの手順の多くを In-App Purchasing API で行ったり、作成したものを微調整することもできます。
ノート: 4.2.0 から 4.6.0 までの Unity IAP のバージョンでは、Unity Analytics が自動的にインストールされます。Unity Analytics は有料サービスであり、使用量が無料利用枠の制限を超えると、使用量に対する料金を支払う責任があります。Unity Analytics の使用を回避するには、Unity IAP 4.7.0 以降をインストールするか、プロジェクトから Unity Analytics を削除します (詳細については、こちら を参照してください)。
ノート: Samsung Galaxy ストアは現在廃止されており、Unity In-App Purchasing パッケージ 4.0.0 以降ではサポートされていません。この Samsung Galaxy ストアの設定ガイドは、IAP パッケージのバージョン 3.1.0 以前にのみ適用されます。Unity IAP パッケージ 4.0.0 以降を使用していて Samsung Galaxy ストアを実装したい場合は、代わりに Unity Distribution Platform を使用してください。
Unity エディターで Unity プロジェクトを開きます。
Window > General > Services を選びます。Services ウィンドウが表示されます。
プロジェクト ID を作成し、そのプロジェクトを組織に接続します。
COPPA のコンプライアンスに関する質問に答えます。
Services ウィンドウには、サービスの一覧が表示されます。In-App Purchasing をクリックします。
Project Settings ウィンドウが表示されます。
In-App Purchasing Settings の横のトグルを ON にします。
これにより、パッケージマネージャーから IAP パッケージが自動的にインストールされ、IAP を管理するための新しい機能やメニュー項目が提供されます。
プレイヤーが購入するアイテムを作り、その ID を取得します。
指定された形式を使用して、プロダクト ID (文字列) を販売する各アイテムに関連付ける必要があります。ストアによっては、プロダクト ID をストア用にカスタマイズする必要があります。
Unity IAP バージョン 2.x から将来のバージョンにアップグレードする場合の重要な注意点
Unity IAP (com.unity.purchasing + Asset Store プラグイン) バージョン 2.x から将来のバージョンに更新する場合、コンパイルエラーを解決するには、以下のアクションを実行します。
IAPProductCatalog.json
と BillingMode.json
を Assets/Plugins/UnityPurchasing/Resources/
から Assets/Resources/
に移動します。AppleTangle.cs
と GooglePlayTangle.cs
を ‘Assets/Plugins/UnityPurchasing/generated’ から Assets/Scripts/UnityPurchasing/generated
へ移動します。Assets/Plugins/UnityPurchasing
に残っている Asset Store プラグインのフォルダーとファイルをすべてプロジェクトから削除します。以下のエラーメッセージは Unity IAP が Unity Cloud Services ウィンドウで無効になっているか、Unity がインターネットに接続されていないことを示しています。
* CS0246
* System.Reflection.ReflectionTypeLoadException
* UnityPurchasing/Bin/Stores.dll
* UnityEngine.Purchasing
これらのエラーを解決するには、以下を行います。
Services ウィンドウを閉じてから再ロードし、再び開きます。再ロード後、Unity IAP サービスが有効になっていることを確認します。 これがうまくいかない場合は、インターネットを一度切断して再接続し、Unity Services にサインインして Unity IAP を再度アクティベートしてください。
ノート: プロジェクトの 所有者 または 管理者 の役割を持っている必要があります。