この問題についてキャンペーンを開始します。これが私の観察とキャンペーンです。
自動更新時に、App Store は を呼び出してpaymentQueue
トランザクションを送信します。トランザクションは で転記されtransaction.transactionState==SKPaymentTransactionStateRestored
ます。
問題は、残念ながらこれが 1 つのデバイスにしか投稿されないことです。2 番目のデバイスは投稿を取得しません。したがって、自動更新を検出するには、または自動更新の欠如を検出してデバイスの継続的なサブスクリプションを拒否するには、restoreCompletedTransaction
「最後のトランザクションを含む 64 ビットでエンコードされた JSON を http で投稿する」を実行する必要があります。前者の場合、ユーザーはパスワードを入力する必要があります。あなたが上で指摘したように、それは邪魔です。後者の場合、多くの追加コーディングが必要です。だから、私の質問は...なぜStoreKit
コマンドがないのですか:
(存在しません)- [[SKPaymentQueue defaultQueue] restoreAttachedTransactions:(NSArray *)transactions];
このコマンドは と同じように流れますrestoreCompletedTransactions
が、アタッチされたトランザクションを復元するだけであり、最も重要なこととして、ユーザーによるログインは必要ありません。これには、「最後のトランザクションを含む 64 ビットでエンコードされた JSON を http ポストする」と同じセキュリティ保護があり、StoreKit
Web ポスト コードを必要とするのではなく、アプリ内購入プロセス全体を実行できます。
これがあなたにとって理にかなっている場合は、これをアップルに届ける方法を提案してください....ありがとう。