アプリケーションで提供するプロダクト(販売するアイテム)のリストを用意しなくてはいけません。プロダクトは以下の 3 種類に別れます。
Consumable | 繰り返し購入することができるタイプ。仮想通貨のような消費型アイテムに適しています。復元することはできません。 |
NonConsumable | 一度のみ購入できるタイプ。ステージの追加など条件のスイッチのようなものに適しています。復元することができます。 |
Subscription | 定期購入することができるタイプ。復元することができます。 |
Unity IAP のデフォルト設定では、各ストアのプロダクト ID はすべて同じ ID でなければいけません。
各ストアで異なるプロダクト ID を設定している場合は、そのことを Unity IAP に知らせる必要があります。例えば、Google Play では ‘100_gold_coins_google’ としてプロダクト ID を作成したとします。対して Mac Store では ‘100_gold_coins_mac’ としてプロダクト ID を作成したとします。残りのストアでは ‘100_gold_coins’ としてプロダクト ID を作成したとすると、すべて同じプロダクト ID だと判断させるには以下のコードを記述しなければいけません。
using UnityEngine;
using UnityEngine.Purchasing;
public class MyIAPManager {
public MyIAPManager () {
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
builder.AddProduct("100_gold_coins", ProductType.Consumable, new IDs
{
{"100_gold_coins_google", GooglePlay.Name},
{"100_gold_coins_mac", MacAppStore.Name}
});
}
}
定義している各ストアのプロダクト ID を変更しても Unity からストアに通信を行うときは、Unity IAP で定義したプロダクト ID を使用するようにしてください。API の呼び出しを行うときはクロスプラットフォームに対応したプロダクト ID を使用し続ける必要があります。