5

基本的にアプリの「プロ」バージョンとなるアプリ内購入の使用を調査しています。アプリ自体は無料ですが、ユーザーはプロ コンテンツを購入することができます (1 つだけ)。「プロ」コンテンツは既にアプリ上にあるため、ダウンロードする必要はなく、単に「ロックを解除」するだけです。

  1. これは Apple ガイドラインで許可されていますか?
  2. 非消耗品を 1 つ購入するだけなので、バックエンド サーバーを使用する必要はないと思います。
    • また、それはガイドラインから許可されていますか?
    • 結果を NSUserDefaults に保存し、別のデバイスにインストールされている場合は、購入した SKPayment から復元するだけで安全で簡単ですか?

私は他のいくつかの質問を見てきました。

そして、それらは私のアプローチが有効であることを示唆しているように見えますが、最近これらのことが変わったことを知っているので、正しいアプローチを取っていることを確認したいと思います.

ありがとう!

4

2 に答える 2

3
  1. コンテンツが組み込まれていて問題ありません。

  2. ベスト プラクティスは、アプリとサーバー間の認証プロトコルを使用して、サーバー上で受信確認を実行することです (これは、他のいくつかのモバイル アプリ ストアにも当てはまります)。デバイスで検証を実行すると、人々は既存のツールを使用して IAP チェックを回避し、コンテンツを盗むことができます。詳細については、https://developer.apple.com/library/ios/#releasenotes/StoreKit/IAP_ReceiptValidation/をご覧ください。

したがって、サーバーは必須ではありませんが、推奨されます。コンテンツを保護することが、サーバーを維持する手間をかける価値があるかどうかを判断できるのは、あなただけです。

私は、NSUserDefaults のストレート ストレージが弱いように見えるという J. Freeman に同意します。ローカル ファイルに保存しますが、形式はデバイスに関連付けられており、サーバーで計算されたキーを作成する必要があります。最後に、はい、SKPaymentQueue restoreCompletedTransactions を使用して、別のデバイスで購入したものを取得する必要があります。復元されたトランザクションでは、サーバー上で領収書も確認する必要があることに注意してください。

于 2013-03-15T18:51:07.210 に答える
2

はい、結構です。アプリ内購入を行うためにバックエンドは必要ありません。また、コンテンツを組み込んで出荷しても問題ありません。

ただし、誰かがその方法で購入を簡単に偽造できるため、NSUserDefaults にロック解除情報を保存することに注意してください。ロック解除情報をキーチェーンに保存する必要があります。

于 2013-03-15T16:50:46.527 に答える