Unity用価格帯別の定期購入、メソッド、イベント
Amazon Appstore SDKを使用すると、開発者はUnityアプリに価格帯別の定期購入機能を実装できます。
Unityプロジェクトで価格帯別の定期購入を使用するには、まず開発者コンソールから手動で、定期購入型アイテム、価格帯、期間をIAPアイテムとして作成する必要があります。これらのIAPアイテムに関するデータを1つずつ入力し、それぞれの定期購入型アイテムを申請します。こうすることで、アプリ内でそのアイテムを使用できるようになります。IAPアイテムはいつでも更新できます。
開始する前に、価格帯別の定期購入型アイテムを開発者コンソールでセットアップする方法を参照してください。
本ドキュメントでは、Unityプラグインの価格帯別の定期購入の変更に利用できるメソッドとイベントの概要について説明します。また、開発作業を始める際に役立つ例も紹介します。
- UnityプラグインのModifySubscriptionメソッド
- ModifySubscription関連データオブジェクト
- 比例配分モード
- ModifySubscription APIのサンプルコード
- ModifySubscription
- ModifySubscriptionResponse
UnityプラグインのModifySubscriptionメソッド
リクエストは、メソッド呼び出しとして開始されます。パラメーターとイベントについては、この後の関連データオブジェクトの表を参照してください。
| 戻り値の型 | メソッド | メソッドの概要 | イベント | 
|---|---|---|---|
| RequestOutput | ModifySubscription(ModifySubscriptionInput input) | 指定した比例配分モードである期間のSKUの定期購入を変更するリクエストを開始します。 | ModifySubscriptionResponse | 
ModifySubscription関連データオブジェクト
次の表では、メソッドやイベントのパラメーターとして使用されるオブジェクトについて説明します。
| オブジェクト | メンバー | 説明 | 
|---|---|---|
| ModifySubscriptionInput | SkuInput skuInput | 定期購入型アイテムの期間を表すSkuInput。 | 
| string prorationMode | IMMEDIATEまたはDEFERREDの値による変更が有効になるタイミングをProrationModeで指定します。 | |
| ModifySubscriptionResponse | string requestId | ModifySubscriptionから返されたリクエストID。 | 
| AmazonUserData amazonUserData | AmazonUserDataを参照してください。 | |
| List receipts | PurchaseReceiptを参照してください。 | |
| string status | PurchaseResponseステータスと同じです。 | |
| PurchaseReceipt | string receiptId | レシートID。購入の一意の識別子です。 | 
| long cancelDate | 購入のキャンセル日。1970年1月1日00:00:00 GMTからのミリ秒単位で表されます。キャンセルされていない場合は0になります。 | |
| long purchaseDate | 購入日。1970年1月1日00:00:00 GMTからのミリ秒単位で表されます。 | |
| string productType | 商品の種類。CONSUMABLE(消費型アイテム)、ENTITLED(非消費型アイテム)、SUBSCRIPTION(定期購入型アイテム)のいずれかです。詳細については、アプリ内課金(IAP)についてを参照してください。 | |
| long deferredDate | DEFERRED比例配分モードで変更された場合の繰延変更日。詳細については、DEFERRED ProrationModeを参照してください。 | |
| string deferredSku | DEFERREDモードでユーザーが切り替える前のSKU。 | |
| string termSku | ユーザーが切り替えた後の新しいSKU。 | 
比例配分モード
定期購入を変更する場合、意図した変更が有効になるときの動作を決定する2つの比例配分モードが定義されています。
| 比例配分モード | 説明 | 
|---|---|
| IMMEDIATE | ユーザーの現行の定期購入プランが終了するとすぐに、新しいプランが有効となります。IMMEDIATE ProrationModeを参照してください。 | 
| DEFERRED | 定期購入プランの切り替えは、予定されている更新時に行われます。DEFERRED ProrationModeを参照してください。 | 
ModifySubscription APIのサンプルコード
Unityにおけるメソッドの呼び出しとイベントの処理に慣れていない場合は、Unityでメソッド呼び出しを開始する方法とUnityでイベントを処理する方法を参照してください。
ModifySubscription
ModifySubscriptionは、指定した比例配分モードである期間のSKUの定期購入を変更するリクエストを開始します。
using com.amazon.device.iap.cpt;
// pluginIAmazonIapV2とのやり取りに使用するオブジェクトを取得します
iapService = AmazonIapV2Impl.Instance;
// オペレーションに入力として渡すオブジェクトを作成します
ModifySubscriptionInput request = new ModifySubscriptionInput();
// 入力SKU値を設定します
SkuInput skuInput = new SkuInput();
skuInput.Sku = "sku";
request.SkuInput = skuInput;
// 比例配分モードをIMMEDIATEまたはDEFERREDに設定します
request.ProrationMode = "DEFERRED";
// 入力オブジェクトを渡して同期オペレーションを呼び出します
RequestOutput response = iapService.ModifySubscription(input);
ModifySubscriptionResponse
ModifySubscriptionResponseは、ModifySubscription呼び出しのレスポンスを返します。
using com.amazon.device.iap.cpt;
// プラグインとのやり取りに使用するオブジェクトを取得します
IAmazonIapV2 iapService = AmazonIapV2Impl.Instance;
// イベントハンドラーを定義します
private void EventHandler(ModifySubscriptionResponse args)
{  
    string requestId = args.RequestId;
    string status = args.Status;
    List<PurchaseReceipt> receipts = args.Receipts;
    
    // 購入レシートごとに、以下の値を取得できます
    string receiptId = receipts[0].ReceiptId;
    long cancelDate = receipts[0].CancelDate;
    long purchaseDate = receipts[0].PurchaseDate;
    string sku = receipts[0].Sku;
    string productType = receipts[0].ProductType;
    string deferredDate = receipts[0].DeferredDate;
    string deferredSku = receipts[0].DeferredSku;
    string termSku = receipts[0].TermSku;
    
}
// イベントハンドラーを登録します
iapService.AddModifySubscriptionResponseListener(EventHandler);
Last updated: 2024年12月3日

