するために使用されrestoreCompletedTransactionsのためのアイテム課金?
-
20-09-2019 - |
質問
基本アプリnonconsumable購入で把握のためのベスト-プラクティスをSKPaymentQueueの restoreCompletedTransactions
?
観測
このために常に登録の取引にオブザーバーを受ける未決済取引のになってしまうというアプリが、これは別の質問です。のようにな restoreCompletedTransactions
あのアプリにおいて積極的に決める呼び出する世論調査のためのすべての購入のお客様です。
うえしましたが、メソッドで取得購入れられた可能性のあるすべて失われています。例えば、お客様がインストール又は移動するアプリを新しいデバイスなどのアプリの記録の前払いを紛失またはリセットします。
懸念
かなどについて、わからないというのはどのように自動的に検出することを条件(どう決める時に投票がないために購入)に信頼される。僕はねじこまでやリスクの否定のお客様へのアクセス機能彼らは既に支払います。
同時に、たくない電話 restoreCompletedTransactions
毎回のアプリが起動される方もいるでしょうが安全では基本的に後取引して知99.9%の時間を。(アプリ内の購入、アプリな本当に必要とネットワーク接続可能です。)
注記
Apple書類を明確化するお客様はありませnonconsumable買入れています。いてみては再購入で決済取引のもとに送信されます。
最悪の場合には、お客様が回復を購入することができ、かついだのような歩きしているパスに似て再購入められており、それらの中には、ないです。
解決
更新月-2019年度)
Apple 文書は、今後の を更新しました2018年ですか。多くの勧告と一致してしまいましたコーヒーに飽きたら寿司に。最大の開発以来、こうした最初の投稿は2009年にApp Storeの領収書にはiOS7です。
場合のリンクが無効の時点で、将来、私は引用したものです。
回復を購入商品
ユーザーの復元取引の維持にコンテンツへのアクセスを彼らは既に購入しています。例えば、アップグレード新しい電話でなく全ての項目においても購入したのです。などの一部の機構にアプリを行う事によって、ユーザの復旧に取り組みの購入など、回復の購入ボタンを押します。回復の買入れを促し、ユーザーのApp Store資格、割り込みの流れをシェアする画面でユーザー:このため、なに自動的に復元買入れのない時間をアプリが起動します。
ほとんどの場合、すべてのアプリのニーズはリフレッシュその領収書およびお届けの商品を入することになります。のリフレッシュ領収書を記録したユーザーの購入をこのアプリは、この装置またはその他の装置です。しかし、一部のアプリケーションが必要なもう一つのアプローチのために以下のいずれかの事由:
- ご利用の場合Apple"を開催内容の復元完成品取引が引き出せるようにすることアプリの取引物を使用するダウンロードします。
- 対応させる必要がある場合にはバージョン以前のiOS7のアプリを受領になると、修復完成品取引です。
- 例えばシェアする画面でユーザー使用の非更新の契約数は、アプリを復元す。
爽やかに領収書を求のために最新のコピーを入することになります。爽やかに領収書を生じさせるものではありません新しい取引です。はどうしたらよいかということですさっぱり複数回、このアクションをしても同じ結果としてさっぱりです。
復元完成品の取引を新たに生成します取引毎に完成品の取引、ユーザーは、本質的に再生の歴史にお取引をキューにオブザーバー.が取引され、アプリを維持して状態を追跡しているで復元完了し引いニーズに対応します。回復を複数回数以上の回復の取引毎に完了します。
前の答え(2009~2012年)
後の書き込みの問題を考えるので、いったカップルソリューション。
自動(非推奨)
一つのオプションは、記録ユーザーのデフォルトかどうか restoreCompletedTransactions
と呼ばれたこと(および完了していないにアプリを開発する予定だ。ない場合は、アプリと同じものを見ることができないにして再始動。このフラグが管理していただきありがとうございのnonconsumable支払の場合、ユーザーのデフォルトの取得拭その後の復旧方法が再度呼び出されるときにアプリを開始します。
この場合には、既存の貸衣装は何かという新のインストールアプリのものを買入れを復元します。その新しいお客様がこのアプリ、その後の回復動作を返します。
いずれの場合 restoreCompletedTransactions
み呼び出すことの代わりに毎ります。
マニュアル(推奨)
オプションはお客様に提供する"購入の復元"ボタンのどこかに、フックまでとなっており restoreCompletedTransactions
てもらうことを決めた場合、いかが必要である可能性があります。
(コメント記入なぜマニュアルの回復はよりよい自動的に行います)
他のヒント
1のApple IDを複数のデバイスにまたがることができることを忘れないでください。だから、1つのデバイスにフラグを維持(たとえば、ユーザーのiPhone)あなたがやったかどうかがわかります、顧客が別のデバイス(彼のiPadを言う)ことが必要で購入を行った場合は、検出することはできません復元iPhoneに復元します。だから、復元を起動する手動による方法を持つことは、あなたが自動メソッドを持っている場合でも、必要もあります。
さらに悪いことに、私は、IAPの払い戻しが行われたときに通知しているか、まだ考え出したていません。私は、復元プロセスは、単に非還付トランザクションのリストを返します疑います。だから、a)は、あなたは単に、復元中に報告されていない、あなたの場合返還製品に復元しないときにユーザーのIAPのあなたのレコードを削除する必要があり、b)定期的に払い戻しを拾うために、自動的に復元んする必要があります。
それが不十分考案し、不十分な文書化されます - -このすべては、AppleのIAPに問題があることを強調し、今ではすでに、すでに(Kindleのように)自分のアプリで働いて完全に機能するWebベースの店舗を持っている電子ブックリーダーのようなコンテンツプロバイダのために必須です。
、例えば、新しい競馬のために、あなたは彼らがデバイスを変更したり削除した場合、ユーザーは自分の購入を復元できるようにアプリのどこかにボタンを「復元」を実装する必要がありますアプリ。これは必須であり、私はAppleが復元]ボタンを実装していないために前にアプリを拒否しなければなりませんでした。