ユーザーがアプリ内購入を購入したときに広告を削除する方法[閉じた
質問
ユーザーに広告を削除するために少額の料金を支払うことができるアプリがあります。これを行うための最良の方法(アプリは無料のままでいる必要がある)は、アプリ内購入を介していると考えています。しかし、ユーザーがアップグレードを購入したら、広告を削除するための最良の方法とそれを行う最良の方法は疑問に思っています。どんな助けやアドバイスは大いに感謝します。
解決
nsuserdefaultsのブール値は、正しい賭けのようです。起動時にそれを確認して、広告が表示されるかどうかを確認し、それに応じてアプリを非表示または表示し、ユーザーがそれを無効にするために支払うときに適切な値に設定できます。
追加するために編集:
たった今見た これは開発フォーラムで. 。 nsuserdefaults booleanをいじっているジェイルブレイクされたデバイスでユーザーが特に心配している場合は、キーチェーンを使用してデータを保存することもできます。 keychainは、nsuserdefaultsができるのと同じように干渉することはできません。そのリンクの詳細。
私は一般的に、著作権侵害のものに多くの努力を費やすことを信じていませんが、これはnsuserdefaultsを使用するよりもひどく費用がかからない自分自身をカバーする簡単な方法です。
他のヒント
別のアプローチは、購入または復元時に受け取ったskPaymentTransactionから領収書を記録することです。その後のローンチでは、バックグラウンドでApp Storeでその領収書を確認することができ、必要に応じて次のローンチの広告を再度可能にします。
これにより、有効なユーザーの領収書を他の場所から貼り付けることを守るとは思わないが、nsuserdefaultsでブール波を切り替えるよりも回避するのは難しい。とにかく、この長さに行く人はあなたのアプリにお金を払うことはほとんどありません。
まあ、この問題はiPhone Limitedではありません。多くのセキュリティアルゴリズムのいずれかを適用する必要があります。 (購入の完了はわかりませんが、提案をします)たとえば、購入後にアプリが保存するコードを生成する購入サーバーにアプリを送信するようにすることができます。次に、すべてのアプリが広告を有効/無効にするようにチェックします。 (ハッシュアルゴリズムなどでコードを作成してみてください)
すべてのシステムがクラックされる可能性があることを忘れないでください。そうすれば、実際のユーザーの頭痛を与える複雑すぎるものを試してはいけません。