16

領収書の検証に関するAppleのドキュメントには、起動直後に領収書の検証を実行するように書かれています。これは、 によって返されたパスでデータをチェックし、存在しない場合は[[NSBundle mainBundle] appStoreRecieptURL]経由で更新し、検証することになります。SKReceiptRefreshRequest前述のドキュメントは、iOS と macOS の両方を参照しています。

iOSでは実際に必要ですか?もしそうなら、なぜですか?ユーザーがジェイルブレイクされたデバイスでアプリを使用できないようにするためですか、またはアプリ ストアからアプリを購入していない場合 (この場合、アプリが無料かどうかは気にしません) ですか? それとも、アプリ内購入の復元や検証などの他の操作に影響がありますか? たとえば、アプリ内購入のトランザクションを検証するために、領収書データが既に存在している必要がありますか?

注: アプリ内サブスクリプションは使用していません。アプリ内購入がありますが、レシートを確認してサーバー側で購入を記録した後、レシートを使用していません。

4

5 に答える 5

12

そうする必要はありません。これはオプションであり、興味がある場合は iOS7 以降で行うことができます。

簡単に言えば、検証の実装は純粋に財務上の決定であり、レシピを検証する場合でも、標準環境でもいつでも (接続がない場合などに) 検証が失敗する可能性があるため、失敗した場合にコンテンツを無効にしないことをお勧めします。このような過剰反応は、消費者の体験を台無しにする可能性があります。


全体として、理由に関係なく、失敗した場合にコンテンツを無効にすることが許可されている場合、実際にはOSXで検証を行うことは理にかなっています。しかし、収入が示唆するよりも多くの消費者がいると感じている場合、または盗まれたコンテンツの量がマージンをはるかに超えていると感じている場合は、iOS でも行う価値があるかもしれません.


注:通常、レシート検証の技術的な詳細については、Apple のドキュメントを参照してください。

于 2016-10-25T08:09:43.760 に答える
3

通常、アプリを購入していないユーザーによる著作権侵害を防ぐために、または自動更新サブスクリプションを使用している場合にのみ、領収書を検証します。

IAP 情報の領収書を調べることはできますが、実際には、「以前の購入を復元する」ボタンをどこかに配置して呼び出す方が簡単です (アプリのレビューで必要になります)。

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

また、アプリの起動時に説明がないのではなく、「購入の復元」ボタンを押したときに Apple ID とパスワードの入力を求められる可能性がある方が、ユーザーにとってより良い UX です。

于 2016-10-19T12:19:46.237 に答える