###前提・実現したいこと
Adobe Gaming SDK productStore.aneを使ったiOSの自動継続更新型のアプリ内課金で、リストア機能実装。
###発生している問題・エラーメッセージ
productStore.aneを使ってiOSで自動継続更新型のアプリ内課金を実装したいと思っています。購入時のフローはレシート検証まで実装できましたが、リストア時のレシート情報が受け取れません。SucceededやCompletedにはなっていますが、transactionsがnullになっている。下記はrestoreTransactionCompletedの時ですが、restoreTransactionSucceededの時もt.originalTransaction.receiptはnullになっているようです。
TransactionEventType="restoreTransactionComplete" bubbles=false cancelable=false transactions=null error=null
###該当のソースコード
function restore_Transactions():void { trace("in restore_Transactions"); productStore.addEventListener(TransactionEvent.RESTORE_TRANSACTION_SUCCESS, restoreTransactionSucceeded); productStore.addEventListener(TransactionEvent.RESTORE_TRANSACTION_FAIL, restoreTransactionFailed); productStore.addEventListener(TransactionEvent.RESTORE_TRANSACTION_COMPLETE, restoreTransactionCompleted); productStore.restoreTransactions(); } function restoreTransactionSucceeded(e:TransactionEvent):void { trace("in restoreTransactionSucceeded"); var i:uint = 0; while (e.transactions && i < e.transactions.length) { var t:Transaction = e.transactions[i]; i++; productStore.addEventListener(TransactionEvent.FINISH_TRANSACTION_SUCCESS, finishTransactionSucceeded); productStore.finishTransaction(t.identifier); trace("t.originalTransaction.receipt : " + t.originalTransaction.receipt); } getPendingTransaction(productStore); } function restoreTransactionFailed(e:TransactionEvent):void { trace("in restoreTransactionFailed" +e); } function restoreTransactionCompleted(e:TransactionEvent):void { trace("in restoreTransactionCompleted" +e); }
###試したこと
購入時(purchaseTransaction)のレシート情報を受け取り、AppStoreでの検証は実装できています。その後、いったんアプリを端末から削除して再度インストール後、上記restore_Transactionsを走らせても、レシート情報(t.originalTransaction.receipt)がnullになっています。
###補足情報(言語/FW/ツール等のバージョンなど)
AIR SDK 22.0.0.153
FlashCC2015
動作検証はsandboxでやっています。
あなたの回答
tips
プレビュー