0

購入した状態がtransactionStateに反映されるupdatedtransactionsメソッドで、新規購入なのか更新なのかを判断したい。これはデータから可能ですか?何も見つかりませんでした。originalTransaction は確認しましたが、これは購入ではなく、復元に対してのみ定義されていると書かれています。もちろん、アプリにフラグを付けておくこともできますが、残念ながら、サブスクリプションがいつキャンセルされたかについての情報は得られません。各期間ごとに更新されているかどうかを確認し続けることができましたが、そこにわずかなギャップがあり、これが乱雑になる可能性があります.

ありがとう!

4

2 に答える 2

0

transactionState が purchaseState になったら、「自動更新サブスクリプションの領収書の確認」で説明されているように、領収書を確認する必要があります。

ストアにクエリを実行し、領収書フィールドを含む JSON 応答を取得します。この領収書では、original_purchase_date です。私が理解していることから、これは SKPaymentTransaction で見つけた originalTransaction の transactionDate と同じではありません。ドキュメントには次のように記載されています。

これは、最初の購入の購入日を保持します。サブスクリプションの開始日を表します。

そのクエリが最初のサブスクリプション日も返す場合、別の方法として、この情報を独自のサーバーに保存し、そこでレシートを検証することもできます (上記のリンク先のセクションの最後に記載されています)。

于 2012-09-11T22:32:34.077 に答える
0

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions/RenewableSubscriptions.htmlのように領収書を確認します。original_purcahse_date_ms を取得します。それを purchase_date_ms と比較してください...出来上がり!

于 2012-09-08T20:51:08.897 に答える