IAP Listener
Codeless IAP では、成功または失敗した購入イベントを、階層内のアクティブな IAP Button コンポーネントにディスパッチします。ただし、成功した購入を処理する際に、アクティブな IAP Button を使用することが困難または望ましくないことがあります。例えば、完了する前に購入が中断された場合、Unity IAP は次に初期化されたときに再度購入を処理しようとします。アプリケーションの起動直後にこの処理を行う必要があることもありますが、その場合は IAP Button の使用が適切とは言えません。まさにこのような場合のために、Codeless IAP には IAP Listener コンポーネントが用意されています。シーン階層内のアクティブな IAP Listener が、IAP Button にディスパッチできない購入イベントを受け取ります。
IAP Listener を追加するには、以下の手順に従います。
- Unity エディターで、Services > In-App Purchasing > Create IAP Listener の順に選択します。
- 購入処理スクリプトをゲームオブジェクトコンポーネントとして作成する 手順に従います。
- シーンで IAP Listener を選択して、Inspector でその IAP Listener (Script) コンポーネントを見つけます。次に、追加 (+) ボタンをクリックして、On Purchase Complete (Product) リストに関数を追加します。
- 購入処理スクリプトが適用されたゲームオブジェクトを、コンポーネントの Inspector のイベントフィールドにドラッグし、ドロップダウンメニューから関数を選択します。

購入処理
カタログに少なくとも 1 つのプロダクトが含まれていれば、購入が完了または失敗したときの IAP Button の動作を定義できます。
- シーンビューで IAP Button を選択し、Inspector でその IAP Button (Script) コンポーネントを見つけます。
- Product ID ドロップダウンリストから、IAP Button にリンクするプロダクトを選択します。

- 購入処理を行う独自の関数を作成するか、これを行うアセットをインポートします (後述のコードサンプルを参照)。
- 購入処理スクリプトをコンポーネントとしてゲームオブジェクトに適用します。

- Inspector の IAP Button (Script) コンポーネントに戻り、追加 (+) ボタンをクリックして、On Purchase Complete (Product) リストに関数を追加します。
- 購入処理スクリプトが適用されたゲームオブジェクトを On Purchase Complete (Product) イベントフィールド (下図) にドラッグし、ドロップダウンメニューから関数を選択します。

処理スクリプトのコードサンプル:
public void GrantCredits (int credits){
userCredits = userCredits + credits;
Debug.Log(“You received “ + credits “ Credits!”);
}
ゲームを実行し、IAP Button をテストします。